启动恢复子系统
简介
启动恢复负责在内核启动之后到应用启动之前的系统关键进程和服务的启动过程的功能。涉及以下组件:
-
init组件
支持使用LiteOS-A和Linux内核的平台。
负责处理从内核加载第一个用户态进程开始,到第一个应用程序启动之间的系统服务进程启动过程。启动恢复子系统除负责加载各系统关键进程之外,还需在启动的同时设置其对应权限,并在子进程启动后对指定进程实行保活(若进程意外退出要重新启动),对于核心进程意外退出时,启动恢复子系统还要执行系统重启操作。详见“init启动引导组件”部分。
-
appspawn应用孵化器组件
提供了Lite和Standard两个版本,Lite版本支持使用LiteOS-A内核的平台;Standard版本支持使用Linux内核的平台。
负责接受应用程序框架的命令孵化应用进程,设置其对应权限,并调用应用程序框架的入口。
-
bootstrap启动引导组件
支持使用LiteOS-M内核的平台。
提供了各服务和功能的启动入口标识。在SAMGR启动时,会调用bootstrap标识的入口函数,并启动系统服务。
-
syspara系统参数组件
负责提供获取与设置操作系统相关的系统属性。
支持全量系统平台。支持的系统属性包括:默认系统属性、OEM厂商系统属性和自定义系统属性。OEM厂商部分仅提供默认值,具体值需OEM产品方按需进行调整,详见“syspara系统属性组件”部分。
目录
表 1 启动恢复源代码目录结构
base/startup/
├── appspawn_standard # 标准系统应用孵化器组件
│ ├── include # 头文件目录
│ ├── parameter # 系统参数
│ ├── src # 服务程序源码
│ └── test # 测试代码
├── appspawn_lite # 小型系统应用孵化器组件
│ └── services
│ ├── include # 应用孵化器组件头文件目录
│ ├── src # 应用孵化器组件源文件目录
│ └── test # 应用孵化器组件测试用例源文件目录
├── bootstrap_lite # 启动引导组件
│ └── services
│ └── source # 启动引导组件源文件目录
├── init # init组件
│ ├── initsync # 分阶段启动源文件目录
│ ├── interfaces # 对外接口目录
│ └── services
│ ├── include # init组件头文件目录
│ ├── src # init组件源文件目录
│ └── test # init组件测试用例源文件目录
└── syspara_lite # 系统参数组件
├── adapter # 系统参数适配层源文件目录
├── frameworks # 系统参数组件源文件目录
├── hals # 系统参数组件硬件抽象层头文件目录
├── interfaces # 系统参数组件对外接口目录
└── simulator # 模拟器适配