1. Android 系统架构
Android系统架构是谷歌开发的一款基于Linux内核的操作系统的体系结构。它采用了分层的架构,从下到上依次为:
- Linux内核层:这是Android系统的核心部分,提供了系统服务如安全性、网络协议、内存管理、进程管理以及驱动程序等。此外,Android Runtime(ART)也依赖于Linux内核来执行底层功能,包括线程和低层内存管理。
- 硬件抽象层(HAL):这一层允许Android系统与底层硬件进行交互,但它并非必需,因为可以通过调用Linux内核的标准函数来直接访问硬件。
- 系统运行库层:这一层包括了Android系统运行所需的库文件,如SQLite数据库、OpenGL ES图形库等。
- 应用框架层:这一层提供了各种API接口,使得开发者可以方便地开发出各种应用程序。
- 应用层:这是最顶层,包括了所有安装在Android设备上的应用程序,如电话拨号器、短信应用、浏览器等。
Android系统架构主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。

2. Android 系统启动流程
- init 进程启动过程
- 创建和挂载