ANDROID基础

来源:互联网 发布:汉王ocr表格识别软件 编辑:程序博客网 时间:2024/06/03 22:02

HAL(Hardware Abstract Layer)硬件抽象层,运行在用户空间,向下屏蔽硬件驱动模块的实现细节,向上提供硬件访问服务。

Linux内核源代码GPL(GNU General Public License,GNU通用公共许可证,是一个被广泛使用的自由软件许可证)协议,所有修改均需开源。

Android系统源代码遵循Apache License(对商业应用友好的许可)协议,它允许移动设备厂商添加或者修改Android系统源代码,而不必公开这些代码。

一方面硬件厂商是不愿意公开自己的硬件实现参数与细节,另一方面是只有内核空间才有特权操作硬件设备,所以硬件的支持被分为两部分,分别实现在内核空间和用户空间。

内核空间仍然是以硬件驱动模块的形式来支持,不过它只提供简单的硬件访问通道。

用户空间以硬件抽象层模块的形式来支持,它封装了硬件的实现细节和参数,用以保护移动设备厂商的利益。

 

而Android的学习从Kernel Space中的Linux Device Drivers开始,研究硬件通道的有关问题。

0 0
原创粉丝点击