第一步:系统引导bootloader
具体流程:加电——》CPU执行bootloader——》加载boot.img(包含内核)
说明:1、简单地说,BootLoader是在操作系统运行之前运行的一段程序,它可以将系统的软硬件环境带到一个合适状态,为运行操作系统做好准备。这样描述是比较抽象的,但是它的任务确实不多,终极目标就是引导OS运行起来。
第二步:内核kernel
具体流程:接第一步——》kernel经过自解压、初始化——》载入built-in驱动程序,完成kernel的启动——》创建若干kernel线程——》装入并执行程序/sbin/init——》载入init process——》切换至user-space。
说明:1、init进程启动,即从linux系统启动,有4个步骤:init进程启动,native服务启动,system server android服务启动,home启动
2、init进程,是一个由内核启动的用户级进程。内核自行启动之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程。
3、servicemanager属于native service。