《深入理解Android》:init

init是安卓也是linux的第一个进程,进程号为1.

 

 

 

首先它会先解析init.rc。首先,解析得到的内容会以section为单位,只有On或者是service关键词算是一个section。zygote是一个service section,在这个section里面定义了zygote,系统有一个service结构体来存放service section,service结构体里面包含一个action结构体。解析后service section的执行命令就会被存放在action结构体里面。然后,会通过相关的命令,通过service结构体来实现zygote,一般就是通过fork命令创建进程然后使用execv执行指定的可执行文件。

 

接下来讲了一下属性服务,类似注册表,用键值对来存储一些配置信息。这中间涉及到了共享内存、socket通信等等。值得注意的是,所有的客户端都是同个属性服务器来进行访问的。

 

待续...

posted @ 2013-12-11 22:21  yutoulck  阅读(202)  评论(0编辑  收藏  举报