代码拉取完成,页面将自动刷新
同步操作将从 openEuler/sysmaster 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
在所有 Unix 系统中都有一个进程号为 1 的进程。这是操作系统内核完成启动后,执行的第一个用户态应用程序,所以进程号在数值上仅次于 idle 这个特殊进程。
从功能定位上看,init 所负责的最基本功能有两类:
从用户的角度看,回收孤儿进程是个基本功能,这点如果没做到,系统会出现大量僵尸进程,影响系统稳定性。但更重要的还是对系统服务启停的管理。一个优秀的init进程,应该具备快速、可靠的特性。为达成快速的目的,有几个关键的手段:
很多人一直努力地从某些方面改进传统的 init 守护进程,使它变得更完善。有简洁可靠但低效的sysvinit,有高效但略显复杂的systemd。
todo 增加对 Android init 的分析对比
Init软件 | 说明 | 启动管理 | 进程回收 | 服务管理 | 并行启动 | 设备管理 | 资源控制 | 日志管理 |
---|---|---|---|---|---|---|---|---|
sysvinit | 早期版本使用的初始化进程工具, 逐渐淡出舞台。 | ✓ | ✓ | |||||
upstart | debian, Ubuntu等系统使用的initdaemon | ✓ | ✓ | ✓ | ✓ | |||
systemd | 提高系统的启动速度,相比传统的System V是一大革新,已被大多数Linux发行版所使用。 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
源码仓库以workspaces方式管理,每一个目录是一个package,每个package包含一个crate(lib或bin形式), 公共lib crate的目录带lib前缀,使用cargo new --lib libtests创建, daemon类型的bin crate的目录以d结尾。
/ (根目录)
|...coms (插件)
| |...service (unit type crate)
| |...socket (unit type crate)
| |...target (unit type crate)
|...libs (对外接口)
| |...libtest (test lib crate)
| |...libcgroup (cgroup lib crate)
| |...libcmdproto(cmd proto lib crate)
|...extends (sysmaster-extends组件)
| |...sysmaster (daemon,and libsysmaster
| |...udevd (daemon)
| |...random-seed (bin)
|...sysmaster (sysmaster-core核心组件)
|...tools
| |...musl_build
| |...run_with_sd
|...docs
|...requirements.sh (安装依赖)
如:
- lib crate: libs/libevent, libs/libutils
- bin crate: extends/init, sysmaster
- daemon crate: extends/udevd, extends/logind
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。