init是Linux(Android)系统中用户空间第一个进程,作为天字第一号进程,init承担了许多重要的工作职责,主要如下:
(1)创建关键进程,比如zygote。
(2)初始化属性服务
init.c工作流程
(1)解析init.rc配置文件
(2)执行4个阶段的动作:early init->init->early boot->boot
(3)启动zygote和属性解析服务。Zygote创造了整个JAVA世界。
(4)进入死循环,处理来自socket和属性服务器的相关事件。
进程间的属性共享和读写服务是通过socket来进行的,客户端通过socket发送属性相关的msg,propertyservice读取客户端发送过来的msg,进行相应解析和设计。属性服务分为暂时和持久化的属性,修改或者增加持久化的属性时,需更新相应的文件,当前前提是客户端具有相应的权限。
共享内存为Linux系统进程间共享数据的一种方式。