Android 内核

Linux 内核版本2.6

位于硬件和软件堆之间的抽象层

核心服务:安全机制、内存管理、进程管理、网络、硬件驱动。

Android 依赖Linux 内核2.6 提供核心服务,比如安全、内存管理、进程管理、网络、硬件驱动。

在这里,Linux 内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。

这个操作系统并非类GNU/Linux 的,因为其系统库,系统初始化和编程接口都和标准的Linux 系统是有所不同的。

从Google 目前release 的Linux 系统来看,其没有虚拟内存文件系统,系统所用的是yaffs2 文件系统,具体的映像也都位于SDK 安装目录下。

通过emulator -console 命令,我们可以在host 中断下得到一个简单的可以控制Android 的shell , 这个系统包含了一个Toolbox , 提供一些基本的命令工具, 集中在 /sbin,/system/sbin,/system/bin 中,但是很简陋,命令种类也很少。

目前Android 的程序安装模式是靠Eclipse 自动进行的,通过对底层的分析可知,大致步骤就是在/data/app 和 data/data 下存放android 底层和普通内核没有什么大的区别,我们可以将其作为一个Linux 来进行开发和hacking。