安卓系统分为四层:

1、Android应用层

2、Android应用框架层

3、Android系统运行层

4、Linux内核层

图示:


硬件抽象层

内核驱动和用户软件之间还存在所谓的硬件抽象层(Hardware Abstract Layer,HAL),它是对硬件设备的具体实现加以抽象。HAL没有在Android官方系统架构图中标明。

鉴于许多硬件设备厂商不希望公开其设备驱动的源代码,如果能将android的应用框架层与linux系统内核的设备驱动隔离,使应用程序框架的开发尽量独立于具体的驱动程序,则android将减少对Linux内核的依赖。HAL由此而生,它是对Linux内核驱动程序进行的封装,将硬件抽象化,屏蔽掉了底层的实现细节。HAL规定了一套应用层对硬件层读写和配置的统一接口,本质上就是将硬件的驱动分为用户空间和内核空间两个层面;Linux内核驱动程序运行于内核空间,硬件抽象层运行于用户空间。



更多相关文章

  1. 在Android上实现WLAN的一点理解
  2. Android(安卓)tp的虚拟按键处理
  3. build android for VMware
  4. Android系统开机启动流程及init进程浅析
  5. 在Android上实现WLAN的一点理解
  6. smartq7 android 内核显示启动信息
  7. 开发Android硬件抽象层代码
  8. Android(安卓)DHT11驱动
  9. 高焕堂:iPhone软件是芝麻,巧用Android才能赚大钱

随机推荐

  1. 社区leaf学习笔记|02. leaf服务器文件配
  2. 社区leaf学习笔记|03. 调试Game、Login模
  3. 社区leaf学习笔记|04. MongoDB测试
  4. 轻度Linux服务器维护人员常用的Shell脚本
  5. 社区leaf学习笔记|05. 游戏玩家注册、登
  6. 小程序对IPhone全面屏手机底部黑线的安全
  7. 微信小程序从开发到发布流程
  8. 经典面试题(20):以下代码将输出的结果是什
  9. 经典面试题(17):以下代码将输出的结果是什
  10. 详解微信小程序登录wx.login(Object obje