一、Android底层内核空间以Linux Kernel作为基石,上层用户空间由Native系统库、虚拟机运行环境、框架层组成,通过系统调用(Syscall)联通系统的内核空间与用户空间,对于用户空间主要采用C++和Java代码编写,通过JNI技术打通用户空间的Java层和Native层,从而连通整个系统。
上图是Android系统的架构组成,下图是Android系统启动的过程
安卓系统启动过程:BootLoader引导开机,然后依次进入->Kernel->Native->Framework->App
1、Loader层
Boot ROM:当手机处于关机状态时,长按Power键开机,引导芯片开始从固化在ROM里的预设代码开始执行,然后加载引导程序到RAM
Boot Loader:这是启动Android系统之前的引导程序,主要是检查RAM,初始化硬件参数等功能
2、Linux内核层
(1)Android平台的基础是Linux内核,比如ART虚拟机最终调用底层Linux内核来执行功能
(2)Linux内核安全机制为Android提供相应的保障,也允许设备制造商为内核开发硬件驱动程序