硬件抽象层: HAL

 HAL ( Hardware Abstraction Layer,硬件抽象腔,〉是建立在Linux驱动之上的一套程序库。这套程序并不属于 Linux 内核, 而是属于 Linux 内核层之上的应用层。 Google 为 Android 增加 HAL 的主要目 的除了尽量避免应用程序直接访问 Linux 驱动外,还有一个重要原因,那就是保护 “私人财产”。Linux驱动的业务逻辑部分对击有些企业或个人并不想将源代码公开。尽管这些Linux驱动都是免费给用户使用的, 但由于这些Linux 驱动的实现涉及一些技术专利或商业秘密,如果公开源代码会有很大麻烦。但作为Linux.驱动,又不得不公开源代码。在Android层次结构中的系统运行库层增加了一个 HAL。HAL 并不是Linux 内核的一部分,而是位于Android的系统运行库层,而Android采用了 Apache Licence 2.0协议发布, Apache Licence .2.0 协议并未要求使用基于Apache Licence ·2.0协议的源代码的软件也必须开源(只要求在踪代码中说明引用的部 分以及提供Notice 文件〉。 由于 HAL属于Android 价一部分,自然也不必开源了。HAL架构比较简单,其基本原理就是在Android系统中使用程序库(.so文件)调用位于内核空间的Linux驱动(一般通过设备文件访问)。 然后android应用程序(APK文件)可以通过NDK程序访问NDK的程序库或直接使用Java代码访问。

转载于:https://www.cnblogs.com/xinyulin/p/5651449.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值