1e41f4b71Sopenharmony_ci# Subsystem Porting Overview
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ciSystem functions are developed by levels, from system to subsystem and then to component. Customize subsystems and components as required. This topic uses certain subsystems and components as examples. To use the capabilities of the OpenHarmony system, the corresponding subsystems need to be adapted.
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciTable 1 lists the common subsystems involved in OpenHarmony chip adaptation. Add or delete subsystems based on the specific chip you use.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci  **Table 1** OpenHarmony subsystems
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci| Subsystem| Description| 
13e41f4b71Sopenharmony_ci| -------- | -------- |
14e41f4b71Sopenharmony_ci| applications | Application demo. You can store the source code related to the application in this directory.| 
15e41f4b71Sopenharmony_ci| kernel | Kernel subsystem, which is responsible for common kernel functions such as task scheduling and memory management.| 
16e41f4b71Sopenharmony_ci| hiviewdfx | DFX subsystem, which provides log-related functions.| 
17e41f4b71Sopenharmony_ci| communication | Communication subsystem, which provides Wi-Fi and Bluetooth functions.| 
18e41f4b71Sopenharmony_ci| iothardware | IoT peripheral subsystem, which provides common peripheral interfaces, such as GPIO, I2C, and SPI.| 
19e41f4b71Sopenharmony_ci| startup | Startup subsystem, which is the first subsystem that runs after the kernel is started. It is responsible for the startup of key system processes and services after the kernel is started and before the application is started.| 
20e41f4b71Sopenharmony_ci| update | Update subsystem, which provides OTA update support for OpenHarmony devices.| 
21e41f4b71Sopenharmony_ci| utils | Utils subsystem, which provides some common enhanced APIs for development using C and C++.| 
22e41f4b71Sopenharmony_ci| distributed_schedule | Distributed scheduler subsystem, which manages cross-device components, provides the capabilities of accessing and controlling remote components, and supports application collaboration in distributed scenarios.| 
23e41f4b71Sopenharmony_ci| security | Security subsystem, which provides system, data, and application security capabilities to protect system and user data of OpenHarmony. It implements application integrity verification, application permission management, device authentication, OpenHarmony Universal KeyStore (HUKS) key management, and data transfer management.| 
24e41f4b71Sopenharmony_ci| test | Test subsystem. OpenHarmony provides a comprehensive auto-test framework for designing test cases. Detecting defects in the development process can improve code quality.| 
25