1# 启动子系统<a name="ZH-CN_TOPIC_0000001129033057"></a> 2 3## 简介<a name="section469617221261"></a> 4 5init组件负责处理从内核加载第一个用户态进程开始,到第一个应用程序启动之间的系统服务进程启动过程。启动恢复子系统除负责加载各系统关键进程之外,还需在启动的同时设置其对应权限,并在子进程启动后对指定进程实行保活(若进程意外退出要重新启动),对于特殊进程意外退出时,启动恢复子系统还要执行系统复位操作。 6 7## 系统架构 8 9**图 1** OHOS启动框架图 10 11![](figures/init系统架构.png) 12 13## 目录<a name="section15884114210197"></a> 14仓目录结构如下: 15``` 16base/startup/init/ 17├── device_info # 提供设备信息的SA服务 18├── initsync # 同步命令(小型系统) 19├── interfaces # 对外接口 20├── scripts # 脚本(LiteOS系统使用) 21├── services 22│ ├── begetctl # 命令集合。提供服务的dump,拉起等一系列命令 23│ ├── etc # init配置文件目录(标准系统) 24│ ├── etc_lite # init配置文件目录(小型系统) 25│ ├── include # init头文件目录 26│ ├── init # init核心功能源码 27│ │ ├── adapter # 内核适配层 28│ │ ├── include # 头文件目录 29│ │ ├── lite # init核心功能源码(小型系统) 30│ │ └── standard # init核心功能源码(标准系统) 31│ ├── log # init日志部件。 32│ ├── loopevent # 事件库 33│ │ ├── include # 头文件目录 34│ │ ├── loop # 基于epoll封装的I/O多路复用接口 35│ │ ├── signal # 信号处理接口封装。提供信号的添加,handler注册等功能 36│ │ ├── socket # socket通信接口 37│ │ ├── task # 事件的抽象任务,如signal, timer等事件都要创建对应task 38│ │ ├── timer # 定时器接口 39│ │ └── utils # loopevent通用接口 40│ ├── modules # 插件化模块 41│ │ ├── bootchart # bootchart插件化源码 42│ │ ├── bootevent # bootevent插件化源码 43│ │ ├── init_hook # init提供的回调函数 44│ │ ├── reboot # reboot插件化源码 45│ │ ├── seccomp # seccomp插件化源码 46│ │ └── selinux # selinux插件化源码 47│ ├── param # 系统参数部件 48│ └── utils # init通用接口 49├── test # init组件测试用例源文件目录 50├── ueventd # ueventd服务源码 51│ ├── etc # ueventd配置文件目录 52│ ├── include # ueventd头文件目录 53│ ├── lite # ueventd核心功能源码(小型系统) 54│ └── standard # ueventd核心功能源码(标准系统) 55└── watchdog # 看门狗服务源码 56``` 57 58 59## 约束<a name="section12212842173518"></a> 60 61目前支持小型系统设备(参考内存≥1MB),标准系统Hi3516DV300、Hi3518EV300以及RK3568等 62 63## 说明<a name="section837771600"></a> 64 65详细使用说明参考开发指南: 66 67[启动恢复子系统概述](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-overview.md) 68 69[引导启动配置文件](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-cfg.md) 70 71[jobs管理](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-jobs.md) 72 73[插件](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-plugin.md) 74 75[沙盒管理](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-sandbox.md) 76 77[服务管理](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-service.md) 78 79[系统参数](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-sysparam.md) 80 81[日志管理](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-log.md) 82 83[组件化启动](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-boot-init-sub-unit.md) 84 85## 相关仓<a name="section641143415335"></a> 86 87**[startup\_init\_lite](https://gitee.com/openharmony/startup_init_lite)** 88 89[startup\_appspawn](https://gitee.com/openharmony/startup_appspawn) 90 91[startup\_bootstrap\_lite](https://gitee.com/openharmony/startup_bootstrap_lite) 92