Android Telephony框架结构简析

本文深入剖析了Android Telephony框架结构,介绍了HAL层的作用和运行机制。HAL作为硬件抽象层,提供统一接口,隔离硬件变化,允许应用提前开发。Android引入HAL以保持硬件驱动和应用的封闭性,避免遵循GPL许可。HAL在Android中的运行结构包括老式和新式,重点讨论了HAL Stub的Proxy代理概念。
摘要由CSDN通过智能技术生成

Android Telephony涉及的框架结构如图1所示。


图1  Android Telephony框架结构

通过图1可以发现Android Telephony框架结构的一些规律,具体如下。

  • Android Telephony的业务应用跨越了AP和BP。AP与BP相互通信,符合前面介绍的智能手机硬件基本结构。
  • Android系统在AP上运行,而Telephony运行在Linux Kernel之上的User Space空间。
  • Android Telephony也采用了分层结构的设计,共跨越了三层Java Applications、Java Frameworks和User Libraries层,与Android操作系统整体分层结构保持一致。
  • Android Telephony从上到下共分三层:Telephony应用、Telephony框架、RIL(Radio Interface Layer,无线通信接口层,主要位于UserLibraries层中的HAL层,接下来详细介绍HAL)。
  • BP SoftWare在BP上运行,主要负责实际的无线通信能力处理。

1 系统运行库层的HAL层

HAL(Hardware Abstraction Layer,硬件抽象层)在Linux和Windows操作系统平台下有不同的实现方式。

Windows下的HAL位于操作系统的最底层,它直接操作物理硬件设备,使用抽象接口来隔离不同硬件的具体实现,为上层的操作系统和设备驱动程序提供一个统一接口,起到对硬件的抽象作用。这样更换硬件时,编写硬件的驱动只要实现符合HAL定义的标准接口即可,而上层应用并不会受到影响,不必关心具体来实现的是什么硬件。

Linux 下的HAL与Windows下的HAL不太一样,HAL并不是位于操作系统的最底层直接操作硬件,相反,它位于操作系统核心层和驱动程序之上,是一个运行在User Space用户空间中的服务程序。

2 简析HAL结构

通过前面的学习,我们知道Android是基于Linux Kernel的开源智能手机操作系统,所以在这里重点介绍Linux下的HAL&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值