Android是在Linux2.6的内核基础之上运行的,提供核心系统服务:安全、内存管理、进程管理、网络组、驱动模型。内核部分还相当于一个介于硬件层和系统中其他软件组之间的一个抽象层次。但是严格来说它不算是Linux操作系统。
Android系统的系统层面的底层是Linux,中间加上了一个叫做Dalvik的JAVA虚拟机,表面层上面是Android运行库。每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。
Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)——该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。
Android系统的应用软件都是运行在Dalvik之上的JAVA软件,而Dalvik是运行在Linux中的,在一些底层功能——比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的 。因此只能说Android是运行在Linux之上的操作系统了,它本身不能算是Linux的某个版本 。