导航号,我的单页导航
文章目录

前言

init的启动之前也跟过,目前用的是Android P,可能跟之前的存在一定的差异。因此重新记录一下,方便自己查阅。

这里只是走走流程,大部分内容来之《Android P (9.0) 之Init进程源码分析

正文

涉及文件,没出现顺序。

\system\core\init\init.cpp
\system\core\rootdir\init.rc
\system\core\init\parser.cpp
\system\core\init\service.cpp
\system\core\init\log.cpp
\system\core\base\logging.cpp
\system\core\init\property_service.cpp
\system\core\init\sigchld_handler.cpp

PS: 本文部分内容主要参考或抄袭gityuan.com的《Android系统启动-Init篇

init进程是Linux系统中用户空间的第一个进程,进程号固定为1。

Kernel启动后,在用户空间启动init进程,并调用init中的main()方法执行init进程的职责。

init的启动

大致走一下,具体的麻烦看参考文章吧

init作为Android系统中用户空间的第一个进程,其进程号也是1。作为天字第一的进程,init的职责是非常重要的。今天就简单看看init做了哪些工作。

隐藏内容!
评论后才能查看!

小结

从上面可知,init主要做了如下几个工作。

  1. 挂载文件系统,创建设备节点

  2. 初始化属性,启动属性服务,以及监听属性变化

  3. 监听和处理子进程终止

  4. 解析init.rc和其他.rc文件

  5. 启动了zygote等进程

参考文章

  1. Android P (9.0) 之Init进程源码分析

  2. Android 9(P)之init进程启动源码分析指南之一

  3. Android系统启动-Init篇

© 版权声明
导航号,我的单页导航

暂无评论

暂无评论...