返回

安卓手机启动时发生的那些事儿(上)

Android

谈到安卓手机,最先映入眼前的,肯定是开机过程,而安卓系统又是建立在Linux内核之上的,那么开机的时候,到底是怎么启动的呢?发生了哪些事情呢?本篇文章,笔者就和大家一起学习学习。

启动流程三部曲

安卓手机的启动流程主要分为三个阶段:

  1. 第一阶段:Bootloader

    这一阶段主要由硬件和汇编语言完成。Bootloader负责初始化硬件,加载Linux内核并将其解压到内存中。

  2. 第二阶段:Linux内核

    这一阶段主要由C语言完成。Linux内核负责初始化硬件设备,创建文件系统,并启动init进程。

  3. 第三阶段: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系统为用户提供了一个图形界面,允许用户与应用程序交互。图形界面包括主屏幕、应用程序抽屉和通知栏。

以上就是安卓手机启动时发生的那些事儿(上),敬请期待下篇!