上一篇分析了Android 的系统架构,让大家对Android系统有了一个深入的认识,但是,android系统本身非常庞大,在深入分析每个具体模块之前,很有必要对Android启动过程进行分析,我们需要了解这么一个庞大的系统在启动时需要执行哪些初始化操作。
Android系统在启动时会先启动linux基础系统,然后引导加载linux Kernel 并启动初始化进程(init),如下框图
接着,启动linux守护进程(daemons),(由于守护进程是linux里面先提出的,android是沿用linux的机制,所以这里说是linux的守护进程,但是这时已进入用户空间,属于android的范围)
启动守护进程这个过程主要启动以下内容,
启动USB守护进程(usbd)来管理USB连接。
启动android debug Bridge 守护进程(adbd)来管理ADB连接。
启动Debug守护进程(debuggerd)来管理调试进程的请求(包括内存转换等)。
启动无线接口守护进程(rild)来管理无线通信。
框图如下