首页 > 代码库 > Android基础之Android系统架构

Android基础之Android系统架构

Android采用层次化系统架构,官方公布的标准架构如下图所示。Android由底层往上分为4个主要功能层,分别是linux内核层(Linux Kernel),系统运行时库层(Libraries和Android Runtime),应用程序架构层(Application Framework)和应用程序层(Applications)。


Linux内核层

Android以Linux操作系统内核为基础,借助Linux内核服务实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能。Android4.0版本之前基于Linux2.6系列内核,4.0及之后的版本使用更新的Linux3.X内核,并且两个开源项目开始有了互通。Linux3.3内核中正式包括一些Android代码,可以直接引导进入Android。Linux3.4将会增添电源管理等更多功能,以增加与Android的硬件兼容性,使Android在更多设备上得到支持。

Android内核 对Linux内核进行了增强,增加了一些面向移动计算的特有功能。例如,低内存管理器LMK(Low Memory Keller),匿名共享内存(Ashmem),以及轻量级的进程间通信Binder机制等。这些内核的增强使Android在继承Linux内核安全机制的同时,进一步提升了内存管理,进程间通信等方面的安全性。下表列举了Android内核的主要驱动模块:

驱动名称                                                                   
说明
Android电源管理(Power Ma nagement)
针对嵌入式设备的,基于标准Linux电源管理系统的,轻量级的电源管理驱动
低内存管理器(Low Memory Keller)
可以根据需要杀死进程来释放需要的内存。扩展了Linux的OOM机制,形成独特的LMK机制
匿名共享内存(Ashmem)
为进程之间提供共享内存资源,同时为内核提供回收和管理内存的机制
日志(Android Logger)
一个轻量级的日志设备
定时器(Anroid Alarm)
提供了一个定时器用于把设备从睡眠状态唤醒
物理内存映射管理(Android  PMEM)
DSP及其他设备只能工作在连续的物理内存上,PMEM用于向用户空间提供 连续的物理内存区域映射
Android定时设备(Android Timed device)
可以执行对设备的定时控制功能
Yaffs2文件系统
Android采用大容量的NAND闪存作为存储设备,使用Yaffs2作为文件系统管理大容量MTD NAND Flash;Yaffs2占用内存小,垃圾回收简洁迅速。
Android Paranoid网络                                                                                                                                      
对Linux内核的网络代码进行了改动,增加了网络认证机制。可在IPV4,IPV6和蓝牙中设置,由ANDROID_PARANOID_NETWORK宏来启用此特性。


Android基础之Android系统架构