Android系统启动流程
2022-06-14 本文已影响0人
ZoranLee
Android系统启动流程
1、开机
引导芯片启动
执行固化在ROM的预设代码
加载引导程序到RAM
Bootloader检查RAM,初始化硬件参数等功能
2、硬件参数初始化完成
进入kernel层
加载硬件设备驱动
初始化进程管理、内存管理、加载Driver等操作
启动kthread进程(pid=2)
kthread是所有内核进程的鼻祖
3、Kernel层加载完毕
硬件设备驱动与HAL层进行交互
初始化进程管理等操作
启动init进程
Native层中
4、init进程(pid=1) init进程是所有进程的鼻祖
启动adbd、logd等用户守护进程
启动ServiceManager(binder服务管家)等重要服务
孵化出zygote进程(C++ Framework)
5、Zygote进程
由init进程解析init.rc文件fork生成
加载虚拟机
启动System Server
启动、管理整个Java Framework
ActivityManager
WindowManager
PackageManager
PowerManager等服务
6、zygote启动相关APP进程
Launcher
Email、SMS等进程
Android系统启动进程关联图

总结
