Android架构介绍

Android架构介绍

Google提供的四层体系结构非常经典,但为了进一步透视Android系统的体系结构,本文更多地从过程的角度出发,用分层体系结构来解释Android系统的整体情况, 描述Android内部关系的内部联锁。

Android架构介绍_第1张图片

Loader层

Boot ROM: 当手机处于关机状态时,长按Power键开机,引导芯片开始从固化在ROM里的预设出代码开始执行,然后加载引导程序到RAM;
Boot Loader:这是启动Android系统之前的引导程序,主要是检查RAM,初始化硬件参数等功能。

Kernel层

swapper进程(pid=0):该进程又称为idle进程, 系统初始化过程Kernel由无到有开创的第一个进程, 用于初始化进程管理、内存管理,加载Display,Camera Driver,Binder Driver等相关工作;
kthreadd进程(pid=2):是Linux系统的内核进程,会创建内核工作线程kworkder等内核守护进程。kthreadd进程是所有内核进程的鼻祖

Native层

进程(pid=1)这里的Native层主要包括init孵化来的用户空间的守护进程、HAL层以及开机动画等。启动init进程(pid=1),是Linux系统的用户进程,init进程是所有用户进程的鼻祖
init进程还启动servicemanager、bootanim等重要服务。
init进程孵化出Zygote进程,Zygote进程是Android系统的第一个Java进程(即虚拟机进程),Zygote是所有Java进程的父进程,Zygote进程本身是由init进程孵化而来的。

Framework层

Zygote进程,是由init进程通过解析init.rc文件后fork生成的。
System Server是Zygote孵化的第一个进程,System Server负责启动和管理整个Java framework,包含ActivityManager,PowerManager等服务。

App层

Zygote进程孵化出的第一个App进程是Launcher,这是用户看到的桌面App

JNI层

待更新…

你可能感兴趣的:(Android)