书籍阅读:
Android框架揭秘 人民邮电出版社 [韩]金泰延 宋亨周 等
比较推荐阅读这本书,对自己来说,比深入理解那几本书(卷)更好理解。
------------------
主要记录自己感觉重要的,主要是认知上的,代码流程就不抄了:
1. kernel启动--->android启动 --->创建并启动init进程 ---> init进程创建并启动其他进程
2.系统启动完成后,init进程作为守护进程(后台进程),监视其他进程。
发现僵死进程,释放其资源。
3.init进程主要作用:子进程终结;创建设备节点;属性服务。
4.为什么init进程能监视其它进程?
init进程创建后注册了信号处理器,其他进程状态改变会发信号给它。
5.init进程注册信号处理器后,创建启动系统所需要的目录并赋予了特定的权限。
如/dev, /proc, /sys/等。一些目录是系统运行时的目录,有init进程在运行时生成。
------------------------分隔----------------------
然后介绍了init.rc文件(阅读理解中,未完待续。。。)
init.rc文件大致分为两部分,一部分是以"on"为关键字开头的动作列表(action list), 另一部分是以"service"关键字开头的服务列表(service list) .
------------------------------
on init开头的动作列表:
主要是设置环境变量,生成系统运行所需要的文件或目录,修改相应的权限,并挂载与系统运行相关的目录。
挂载了/system与/data两个目录,准备Android的根文件系统。
on boot开头的动作列表:
主要是设置应用程序终止条件,应用程序驱动目录和文件权限。
-----------------------------
service开头的:
记录init进程启动的进程(也即是机器启动过程中运行)。启动的是init子进程或者一次性程序,后台程序、系统相关的守护进程等。
service sdbd /sbin/adbd #服务标识 服务名 文件路径