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宏来启用此特性。 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。