init作为第一个进程的功能?----- 完成系统的初始化
什么是守护进程
就是通常说的daemon进程,是android系统中的后台服务进程。它常常在系统引导装入时启动,在系统关闭时终止,生存周期长,独立于控制终端且周期性地执行某种任务或者等待处理某些发生的事件。主要表现形式为系统后台服务,以完成系统任务为主要目的。
它作为守护进程的功能?如何进行初始化的?
init进程是linux内核启动后创建的第一个用户进程,在初始化过程中会启动很多重要得守护进程,完成初始化之后自己也作为一个守护进程来运行
android启动过程
从系统角度看可以划分为3个大阶段,分别为:bootloader引导、装载和启动linux内核、启动android系统
android系统启动过程
启动init进程、启动servicemanager、启动zygote、启动systemservice、启动mediaservice、启动launcher
bootloader引导
bootloader主要作用是初始化基本的硬件设备(如CPU、内存、Flash等)并且通过建立内存空间映射,为装载linux内核准备好合适的运行环境。等待linux内核装载完毕自动从内存中清除掉。如果在bootloader运行期间,按下预定义的组合键,就可以进入系统的更新模块:fastboot或者recovery模式。fasboot是android设计的一套通过USB来更新手机分区映像的协议,方便开发人员能快速更新指定的手机分区。商用手机上往往要去掉。recovery模式是android特有的升级系统,利用此模式手机可以恢复出厂设置或者执行OTA、补丁和固件升级。此模式实际上是启动的一个文本模式的linux。
linux内核启动
boot.img存放的就是linux内核和一个根文件系统。bootloader把boot.img装载进内存。然后linux内核执行整个系统初始化,完成后装载根文件系统,最后启动init进程。
启动init进程
未完待续。。。。。
参考:
http://blog.youkuaiyun.com/zirconsdu/article/details/8574049