Android技术内幕系统卷--读书笔记(二)

本文是Android技术内幕系统卷的读书笔记,详细介绍了Android系统从Bootloader启动到System ready的整个流程。首先,Linux Kernel加载后,init进程开始运行,执行启动脚本,创建守护进程如adbd、usbd、rild。接着,zygote进程生成dvm虚拟机实例,启动service manager并注册服务。随后,zygote创建System server和服务,并注册到service manager。最后,当所有服务加载完毕,启动第一个HOME应用,标志着System ready。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           Android系统的初始化流程分为几个大的阶段。

      首先是Bootloader阶段,引导Linux Kernel的启动,此部分的分析略过。

      内核启动挂载根文件系统成功后,会启动第一个进程(pid为1)init。

      init进程会通过解析启动脚本init.rc和init.(hardwarename).rc完成如下的任务:

     (1) fork一系列守护进程(daemon),例如调试进程adbd,USB守护进程usbd,通信进程rild等。

     (2) fork一个zygote进程,在这个进程里,会生成第一个dvm虚拟机的实例,启动socket监听,每当有请求创建新的service时,zygote会负责为其创建新的进程。

      (3) 初始化runtime进程,启动service manager,用于android系统里所有service的管理,接着发送请求至zygote,创建虚拟机用于System server(原生系统服务),如surface flinger,audio flinger等,并将其注册到service manager;然后启动android service,并将这些服务注册到service manager

      (4) 加载完所有的服务后,会通过回调通知各个服务System ready,在activitymanagerservice的回调中,会启动第一个HOME应用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值