android 启动分析

2019-04-14 22:01发布

andorid启动,从上电-》启动Linux-》启动andorid   1、加电后,CPU先执行bootloader程序,加载boot.img(其中包含kernel) 2、有bootloader加载kernel,kernel经自解压,初始化,载入built-in驱动程序,完成启动。  kernel启动后会创建若干内核线程(kernel thread),之后装入并执行程序/sbin/init/,载入init process,切换至user-space。 3、init进程启动(system/core/init) android从linux系统启动有4个步骤: 1、init进程启动 :内核启动的第一个用户级进程,init 启动后就根据init.rc和init.XXX.rc脚本文件建立几个基本服务(ServiceManager,Zygote ....) 2、Native服务启动 3、System Server, Android服务启动。 4、Home启动。   下面重点说下:init进程的作用,init进程是开始的位置在(system/core/init/init.c 的main函数) init.c用解析两个重要的文件/init.rc和/init.%hardware%.rc文件。 并执行其中的命令,最后,init进程变身守护进程。   参考资料: http://www.cnblogs.com/linucos/archive/2012/05/22/2513046.html 创世纪:第一天连接:http://www.cnblogs.com/hangxin1940/archive/2011/10/01/2196964.html  创世纪:第一天连接: http://www.cnblogs.com/hangxin1940/archive/2011/10/14/2206754.html 创世纪:第三天连接:http://www.cnblogs.com/hangxin1940/archive/2011/10/22/2221451.html