Android图形系统的分析与移植--二、Android显示系统软件架构分析

Android系统软件架构图如图1所示:


图1  Android系统软件架构图

        其中蓝色部分和显示相关。同时在Surface Manager所在的核心服务层和Display Driver所在的操作系统内核层中间还存在着一层硬件抽象层,里面包含gralloc、overlay等和显示相关的抽象层硬件模块。

下面简单介绍一下上图中的各个层:

上面两层为用户空间应用程序,属于应用程序层,其中包括Android应用程序以及框架和系统运行库,和底层相关的是系统运行库,而其中和显示相关的就是Android的Surface Manager,它负责对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。

第三层为HAL层,是与Kernel内核空间交互的部分。HAL其实就是用户空间的驱动程序,如果想要将Android在谋硬件平台上执行,基本上完成这些驱动就行了,其内定义了Android对个硬件装置例如显示芯片、声音、数字相机、GPS、GSM等等的需求。

操作系统内核层中和显示部分相关的就是Linux的FrameBuffer,它是Linux系统中的显示部分驱动程序接口。Linux工作在保护模式下,User空间的应用程序无法直接调用显卡的驱动程序来直接画屏,FrameBuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机制等等具体细节。这些都是由 Framebuffer设备驱动来完成的。

最底层为硬件驱动层,可以看做是硬件显卡的驱动程序,和显示部分硬件相关以及外围LCD相关的驱动都被定义在这边,比如上述的显卡的一些特性都是在这边被初始化的。




  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值