安卓手机启动时发生的那些事儿(上)
2023-12-16 10:45:55
谈到安卓手机,最先映入眼前的,肯定是开机过程,而安卓系统又是建立在Linux内核之上的,那么开机的时候,到底是怎么启动的呢?发生了哪些事情呢?本篇文章,笔者就和大家一起学习学习。
启动流程三部曲
安卓手机的启动流程主要分为三个阶段:
-
第一阶段:Bootloader
这一阶段主要由硬件和汇编语言完成。Bootloader负责初始化硬件,加载Linux内核并将其解压到内存中。
-
第二阶段:Linux内核
这一阶段主要由C语言完成。Linux内核负责初始化硬件设备,创建文件系统,并启动init进程。
-
第三阶段:Android系统
这一阶段主要由Java完成。Android系统负责加载和启动Android应用程序,并为用户提供图形界面。
第一阶段:Bootloader
当我们按下安卓手机的电源键时,Bootloader首先被执行。Bootloader是一个小型的程序,负责初始化硬件,加载Linux内核并将其解压到内存中。
初始化硬件
Bootloader首先会初始化必要的硬件,例如处理器、内存和时钟。它还会检测和配置外围设备,例如显示器、键盘和鼠标。
加载Linux内核
Bootloader接下来会从闪存或其他存储设备中加载Linux内核。Linux内核是一个复杂的操作系统内核,负责管理硬件和软件资源。
解压Linux内核
Bootloader将加载的Linux内核解压到内存中。解压后,Linux内核就可以被执行。
第二阶段:Linux内核
Linux内核被解压到内存后,就开始执行。Linux内核负责初始化硬件设备,创建文件系统,并启动init进程。
初始化硬件设备
Linux内核首先会初始化必要的硬件设备,例如网络接口卡、存储设备和图形处理器。它还会加载必要的驱动程序。
创建文件系统
Linux内核接下来会创建文件系统。文件系统是一种组织和存储数据的结构。Linux内核支持多种文件系统,例如ext4和FAT32。
启动init进程
Linux内核最后会启动init进程。init进程是第一个用户空间进程,负责启动其他进程和管理系统。
第三阶段:Android系统
init进程启动后,Android系统就会开始加载和启动。Android系统是一个基于Java的移动操作系统,为用户提供图形界面和各种应用程序。
加载和启动Android应用程序
init进程会加载和启动Android应用程序。Android应用程序是用Java编写的,并打包成APK文件。
提供图形界面
Android系统为用户提供了一个图形界面,允许用户与应用程序交互。图形界面包括主屏幕、应用程序抽屉和通知栏。
以上就是安卓手机启动时发生的那些事儿(上),敬请期待下篇!