Android系统的启动过程解析

init.rc

android设备启动必须经历三个阶段,即BootLoader、Linux kernal、Android系统服务

实际上Android是运行在Linux上的一系列进程,严格来说并不算操作系统,Android中第一个启动的进程就是init。 init的PID为0,它通过解析init.rc脚本来构建系统的初始运行状态,是开发商用来控制去Android启动状态的一大利器。

 

init.rc语法

一个完整的init.rc脚本由4种类型组成:

  • Action(动作)
  • Commands(命令)
  • Services(服务)
  • Options(选项)

 

init进程启动总结

  • 创建和挂载启动所需的文件目录
  • 初始化和启动属性服务
  • 解析init.rc配置文件,并启动Zygote进程

 

系统的关键服务

init作为Android系统的第一个进程,它通过解析init.rc来陆续启动其他关键系统进程。 这其中最重要的就是ServiceManager, Zygote, SystemServer.

1.ServiceManager

Android的binder机制的"DNS服务器"

2.Zygote

Android中的大多数应用进程和系统进程都是通过zygote来生成的。

3.SystemServer

SystemServer是Android进入Launcher前的最后准备,它提供了众多由java语言编写的"系统服务"。

4.Launcher启动过程

被Systemserver进程启动的AMS会启动Launcher,Launcher启动后会将应用程序快捷图标显示到桌面上。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值