Android init 进程的启动(Android 10)

鲁烨
2023-12-01

Android init 进程的启动(Android 10)

1 系统启动流程简析

在分析 Init 进程的启动流程前,我们先来看一下Android系统开机启动流程,经历了哪些关键的步骤,Init 进程时从哪里开始被启动的。

1.1 启动电源

当电源按下时引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序Bootloader到RAM,然后执行。

1.2 引导程序Bootloader

引导程序是在Android操作系统开始运行前的一个小程序,它的主要作用是把系统OS拉起来并运行。

1.3 Linux Kernel启动

内核kernel启动时,设置缓存、被保护存储器、计划列表,加载驱动。当内核完成系统设置,它首先在系统文件中寻找”init”文件,然后启动root进程或者系统的第一个进程。

1.4 Init进程启动

Init 进程作为 Android 系统中用户空间的第一个进程,它在整个Android系统中扮演了重要的角色,比如负责启动servicemanager(binder 服务管家)、创建 Zygote 进程(Java 进程的鼻祖)、启动属性服务、初始化 Selinux等。

1.5.1 servicemanager 启动(binder 管家)

1.5.2 Zygote 进程启动<

 类似资料: