diff --git a/README_zh.md b/README_zh.md index b35787b6defd27a3e98fac31097198f891773fca..1491f317a465be6b0940ca4276ac969c35a92e11 100644 --- a/README_zh.md +++ b/README_zh.md @@ -1,10 +1,11 @@ # init组件 -- [简介](#section469617221261) -- [目录](#section15884114210197) -- [约束](#section12212842173518) -- [使用说明](#section837771600) -- [相关仓](#section641143415335) +- [init组件](#init组件) + - [简介](#简介) + - [目录](#目录) + - [约束](#约束) + - [使用说明](#使用说明) + - [相关仓](#相关仓) ## 简介 @@ -72,16 +73,16 @@ init将系统启动分为三个阶段: 对于每个service的启动,从init拉起的方式上来区分,大致可分为以下三种策略: -* 通过start命令 +* 通过start命令 在job中添加start service的命令,init将会在执行该job的阶段将对应服务拉起 -* 分组并行启动 +* 分组并行启动 无须显式添加start命令,服务的start-mode属性为非condition配置,init将会为该服务按策略分组并在该分组服务启动时统一拉起 * 按需启动 按需启动的服务应当被认为是无须在系统启动过程中被拉起的,而是当需要时,这个当需要时的触发条件可能是被init监听的相关socket有消息上报、samgr收到客户端的请求需要拉起SA服务等情况,按需启动的服务需要配置ondemand属性为true,该属性拥有高优先级,配置该属性后服务将不再受start-mode属性控制,统一通过按需启动方式拉起 对于每个服务的启动,进程的运行,init提供了以保障系统安全性为目的的沙盒运行环境。每个进程运行时都有不同的环境约束,各个分层之间进程的资源隔离,确保每个进程都在各自的沙盒环境下运行,只访问允许的系统资源。 -每个沙盒环境的分为只读资源和可写资源,只读资源由init在初始化时创建好,通过mount bind把只读文件指向全局FS中对应的目录,然后启动相应沙盒进程时通过chroot跳入到沙盒环境运行。对于可写目录,通过对全局/data目录进行划分,由存储服务进行统一管理分配,通过mnt namespace完成可写目录的沙盒化。 +每个沙盒环境的分为只读资源和可写资源,只读资源由init在初始化时创建好,通过mount bind把只读文件指向全局FS中对应的目录,然后启动相应沙盒进程时通过SetNamespace跳入到沙盒环境运行。对于可写目录,通过对全局/data目录进行划分,由存储服务进行统一管理分配,通过mnt namespace完成可写目录的沙盒化。 init的关键配置文件init.cfg位于代码仓库base/startup/init_lite/service/etc目录,部署在/etc/下,采用json格式,文件大小目前限制在100KB以内。