你的位置:首页 > 操作系统

[操作系统]读书笔记1《Android深度探索 卷一》


---恢复内容开始---

一.Android系统架构

Android系统架构分为4层:

第一层:Linux内核

Android是基于Linux内核的,因此,Android内核和标准Linux2.6的内核结构基本相同,细微差异在Android在Linux内核中增加的主要是一些Android专用驱动和Android使用的设备驱动,这些驱动程序在Android不同版本中可能并不通用。

第二层:C/C++代码库

是使用C/C++编写的代码库也就是Linux下的.so文件,还有Android运行时环境(AndroidRuntime)。

第三层:应用程序框架(Android SDK API)

是用Java语言编写的各种Library(基于Dalvik虚拟机格式的)。

第四层:应用程序

这一层相当于Android的UI,所有的Android应用程序包括拍照,短信,浏览器及游戏等都属于这一层。这一层主要依靠第3层中的Android SDK API来完成各种功能。

二.Android系统移植

Android系统移植分为两部分:应用移植和系统移植。

应用移植是指应用程序移植到某一个特定的硬件平台上。一般Android应用程序移植并不涉及驱动和HAL程序库的移植。

系统移植是指让Android操作系统在某一个特定硬件平台上运行。使操作系统在特定硬件平台上运行需要该操作系统支持硬件平台的CPU架构。Linux内核支持很多常用的CPU架构,因此Android在不同的CPU架构之间移植不用过多改动。还需让Android可识别平上各种硬件。这是由Linux驱动完成的。Android还增加了HAL(硬件抽象层),通过其来访问驱动,这与其他Linux系统应用程序直接访问驱动不同。如果增加了新的驱动或修改了驱动代码,HAL中的代码也要做相应的调整。

注意:

Android移植很大是移植Linux内核。Android版本同Linux版本不同,无论哪个Android版本其内核都是基于Linux2.3或Linux3.0(将来会是更高版本),只是会根据需求修改添加驱动或其他。移植Linux驱动时,只要Linux内核相同,Android版本不同也可移植。

三.Linux内核版本号

查看Linux版本号,在Linux终端执行下面命令:

“uname  -a”或“cat  /proc/version”

Linux版本号定义规则:

主版本号+次版本号——>(Linux版本系列)

+修订版本号+微调版本号+为特定Linux系统调校的描述

---恢复内容结束---