关于android系统架构中的HAL层




HAL(hardware abstraction layer) 硬件抽象层

HAL层主要是为规避GPL【开源协议】而设计的,它将将硬件驱动分成内核空间和用户空间两部分,其中用户空间两部分采用的是商业友好的Apache License。

应用程序框架层主要包括系统服务,例如组件管理服务、应用程序安装服务、窗口管理服务、多媒体服务和电信服务等。

应用程序框架进一步又分为C/C++和Java两个层次,Java代码运行Dalvik虚拟机之上,并且通过JNI方法和C/C++交互。

应用程序层主要就是由四大组件Activity、Service、Broadcast Receiver和Content Provider构成,它们是应用开发的基础。

在Android系统中,提供了独特的匿名共享内存子系统Ashmem(Anonymous Shared Memory)

Apache许可证(Apache License) ,是一个在 Apache软件基金会 发布的自由软件许可证,最初为
Apache 标志 Apache 标志
Apache http服务器而撰写。Apache许可证要求被授权者保留版权和放弃权利的申明,但它不是一个反版权的许可证。

GPL,是General Public License的缩写,是一份GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─直有GNU通用公共授权英文原文的版本始具有此等效力。

设备驱动分为内核空间和用户空间,内核空间负责硬件访问逻辑(GPL),用户空间负责参数和访问流程控制(apache license)
用户空间部分设备驱动即为HAL Module,HAL Module通过设备文件访问内核空间部分设备驱动
系统服务通过HAL Module对硬件进行管理,系统服务通过JNI访问Module。
应用程序通过系统服务队硬件进行访问,通过binder ipc访问系统服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值