zoukankan      html  css  js  c++  java
  • 硬件抽象层: 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代码访问。

  • 相关阅读:
    java类实现 指定网站信息采集
    通过jxl.jar 读取、导出excel的小例子
    SQL使用CASE WHEN THEN
    动态查询的实现
    Oracle 查询存储过程 做横向报表
    文本信息 生成二维码 例子
    将对象转换为指定的Map
    eclipse 插件大全
    让人看了舒服的清爽颜色搭配CSS
    spring 定时任务 实现
  • 原文地址:https://www.cnblogs.com/xinyulin/p/5651449.html
Copyright © 2011-2022 走看看