深入理解Android之init与zygote

本文详细探讨了Android系统的启动过程,包括init进程的配置文件解析、初始化操作及属性服务,zygote进程的VM创建、JNI注册和预加载,以及system_server进程的Native层初始化和服务创建。通过理解这些核心进程,有助于深入掌握Android系统的工作原理。
摘要由CSDN通过智能技术生成

最近看了《深入理解Android卷I》中关于init进程与zygote进程的知识,特此写一篇博客记录一下收获。


init进程

init进程是Android系统中的用户空间的第一个进程,它的进程号是1,作为天字第一号进程,init进程需要完成很多工作,其示意图如下:
init进程
init进程的工作主要分为四步:
  1. 解析配置文件:解析init,rc与init,硬件名.rc(每种类型的手机有自己的硬件名),根据解析的内容执行第二步操作
  2. 执行各阶段操作:各种初始化操作,主要分为early-init、init、early-boot和boot四个阶段(其中zygote进程是在boot阶段通过fork与execv启动的)
  3. 启动属性服务:属性服务类似于Windows的注册表,可以保存一些设备上的键值对信息。主要分为在共享内存上初始化和循环处理请求两部分
  4. 死循环:完成以上操作后,init进程进入一个死循环检测系统中死去的进程,并负责把他们重启和进行收尾工作

zygote进程

讲完init进程我们再来提一下著名的zygote进程。zygote即受精卵
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值