简述Android操作系统

本文详细介绍了Android操作系统的架构,从Linux内核开始,包括HAL层、系统运行库层(Native Libraries和运行时库)、Framework层(特别是四大组件)以及APP层。Android系统通过Linux内核提供硬件驱动,HAL层实现硬件接口的封装,运行库层支持系统运行,Framework层为开发者提供API接口,APP层则是用户直接交互的应用程序。
摘要由CSDN通过智能技术生成

目录

一、Linux Kernel

1、什么是Linux内核

2、作用

二、HAL层

三、系统运行库层

1、Native Libraries

2、运行时库

四、Framework层

Android的四大组件

五、APP层


 

根据基础的Android架构图,从下往上依次为:Linux内核、HAL层、Native Libraries、Runtime、Framework层、APP层。

每一层都包含大量的子模块或子系统,并提供固定的服务访问点SAP(service access point),具有高内聚、低耦合的特点。

一、Linux Kernel

Android操作系统以Linux内核为基石,组成底层内核空间。

1、什么是Linux内核

  • 技术层面:内核是硬件和软件之间的一个中间层,将应用层的请求传递硬件,充当底层驱动程序,对系统中的各种设备和组件进行寻址
  • 应用程序层面:应用程序只与内核有关,而内核就是应用程序知道的层次中的最底层

内核是资源管理程序,负责将可用的共享资源(CPU、磁盘空间等)分配给各系统进程。同时内核像一个库,提供了一组面向系统的命令。

例如:整个软件是通过系统调用(Syscall)连通系统的内核空间和用户空间。而用户空间就是接下来要说的,由HAL层、Native Libraries、Runtime、Framework层、application层组成。

内核的作用简单说,就是提供了进程管理、文件网络管理、系统安全权限管理、以及系统与硬件设备通讯基础。

2、作用

Linux内核层为Android设备的各种硬件提供底层驱动:显示驱动、音频驱动、电源管理、Flash内存驱动、进程管理、系统安全、camera驱动、蓝牙驱动、Binder IPC驱动(进程间通讯驱动)等。

二、HAL层

HAL(Hardware Abstraction Lay,硬件抽象层),是对底层驱动(即Linux内核层)进行了一层封装,向Framework层提供调用驱动的通用接口,HAL层开发者只需要按照HAL规范,实现相应接口,并以共享库的形式放在特定目录下,那上层开发者只需要加在这个共享库并找到对应模块的对应指针,即可操作底层硬件。这一层出现的目的是维护开发者利益(实现开放不开源)。

简单来说,就是将控制硬件的动作放在了HAL层。

例如:CameraHardwareInterface(camera_device_name)是Android的通用接口,通过它适配向CameraService提供硬件操作接口。

三、系统运行库层

系统运行库层是由程序库运行时库组成。

1、Native Libraries

Android Native Libraries(程序库),是相对于Java层(即Framework层)的底层,用C/C++语言实现,提供一些本地服务和链接库。通过这一层去实现一些复杂运算,并通过JNI和Java层通讯;或是通过Native层去运行底层驱动进而操作设备。

其支持整个系统正常运行的基础库,具备9个子系统:

序号 子系统 描述
1 系统C库 从BSD(伯克利软件套件,Unix衍生系统)继承来的标准C系统函数库,专门为基于嵌入式Linux设备制定
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值