1.1.5 硬件抽象层和Linux内核
Android系统并不是从零开始设计的,而是搭建在Linux内核之上。狭义的Android系统,主要指的是Linux内核以上的各层,从运行的角度来看,它们只是运行在Linux系统上的一些进程,并不是完整的系统,离开了Linux的支撑,就像鱼儿离开了水一样,无法运行。
Linux之于Android最大的价值,便是其强大的可移植性。Linux可以运行在各式各样的芯片架构和硬件环境下,而依托于它的Android系统,也便有了强大的可移植性。同时,Linux像一座桥梁,将Android的上层实现与底层硬件连接起来,使它们可以不必直接耦合,因此,降低了移植的难度。
而硬件抽象层(Hardware Abstract Layer, HAL),是Android为厂商定义的一套接口标准,它为框架层提供接口支持,厂商需要根据定义的接口实现相应功能[1]。
[1]移植Android需要实现的硬件抽象层头文件,请参见:http://source.android.com/porting/index.html。