Android Display架构分析,黑屏,系统架构

news/2024/10/18 7:57:51/

(642条消息) Android Display架构分析_lin-0410的博客-CSDN博客

(644条消息) Android系统架构_橙子19911016的博客-CSDN博客

1 Android 系统架构

Android 是谷歌开发的一款基于 Linux 内核的操作系统。系统架构分为五层,从下到上依次是Linux内核层、硬件抽象层、系统运行库层、应用框架层和应用层。

1.1 Linux 内核层(Linux Kernel)
Android 系统的核心系统服务基于 Linux 内核的,程序的安全性、网络协议、内存管理、进程管理、驱动程序都由 Linux 内核所提供。另外,Android Runtime(ART)就是依靠 Linux 内核来执行底层功能的,其中包括线程和低层内存管理。

Linux 内核层包括以下组件:

音频驱动(Audio Driver):基于 ALSA(Advanced Linux sound architecture)的高级 Linux 声音体系驱动;
蓝牙驱动(Bluetooth Driver):基于 IEEE802151 标准的无限传输技术;
Binder(IPC)Driver:Android 的一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能;
照相机驱动(Camera Dirver):常用的基于 Linux 的 V412(Video for Linux)驱动;
显示驱动(Display Driver):基于 Linux 的帧缓冲(Frame Buffer)驱动;
Flash 内存驱动(Flash Memory Driver):基于MTD 的 Flash 驱动程序区;
键盘驱动程序(KeyBoard Driver):为输入设备提供支持;
电源管理(Power management):对电池电量的监控;
USB 驱动(USB Driver):提供 USB 设备的连接支持;
WIFI 驱动(WIFI Driver):基于 IEEE802.|1 标准的驱动程序,可以链接无线网络;
1.2 硬件抽象层(HAL)
HAL(Hardware Abstract Layer)硬件抽象层,是 Google 开发的 Android 系统上层应用对底层硬件操作屏蔽的一个层次结构,简单来说就是,上层应用不需要关心底层硬件是如何工作的,只需要调用底层提供的统一接口即可。

其实,Android 系统完全可以没有 HAL 层,访问硬件可以通过调用 Linux 内核的标准函数来实现,但是,如何访问 Linux 内核就涉及到了技术专利和商业机密,厂商不想公开源代码,只愿提供二进制代码。而 Linux 内核采用了 GPL 协议,任何人都可以获取或者修改其源代码,因此 Google 在 Android 系统架构中增加了一个 HAL 层,不想公开的代码可以放在这个位置。

另外,HAL 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。 HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如,相机或蓝牙模块。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。

Hardware /ˈhɑːrdwer/( 计算机)硬件;五金制品;装备,设备

abstract /ˈæbstrækt/ 抽象的,纯概念的;

layer /ˈleɪər/ 层;层次,等级;

GPL:GNU(操作系统)通用公共许可证,GPL 授权有以下特点:任何软件挂上 GPL 授权之后,即为自由软件,任何人可以获取、修改其源代码,经过修改后的源代码也要公开。

严格来说,Linux 只是一个操作系统内核,大部分 Linux 发行版都是由操作系统内核加上 GNU 的软件或者工具形成的完整的操作系统,也就是 GNU/Linux。GNU/Linux 是一种 Unix Like 操作系统。

1.3 Android Runtime
 


http://www.ppmy.cn/news/51103.html

相关文章

P1040 [NOIP2003 提高组] 加分二叉树

题目描述 设一个 �n 个节点的二叉树 treetree 的中序遍历为(1,2,3,…,�)(1,2,3,…,n),其中数字 1,2,3,…,�1,2,3,…,n 为节点编号。每个节点都有一个分数(均为正整数),记第 �i 个节…

ch6_1计算机中运算方法

计算机中数的表示计算机的运算方法运算器的设计 参考教材 本章内容主要介绍,计算机中的运算方法 无符号数和有符号数数的定点表示和浮点表示定点运算浮点四则运算算术逻辑单元 1. 无符号数和有符号数 1.1 无符号数 1.2 有符号数 计算机中, 小数点…

Java文件字符流和字节流中的实战

文件输入输出流 文件内容操作与实战字符流ReaderWriter 字节流inputStreamOutputStream实战💪 文件内容操作与实战 文件的分类上一篇文章(文件对象处理)已经和大家讲解过了。本章主要文件主要针对于对文件内容的操作展开讲解,文件…

系统分析师之信息化技术(十一)

目录 一、企业信息化概述 1.1 信息系统的基本概念 1.1.1 什么是信息 1.1.2 什么是信息化 1.1.3 信息系统分类 二、企业信息化规划 2.1 信息化战略体系 2.2 企业战略与信息化战略集成方法 三、信息系统开发方法 3.1 信息系统开发方法 3.2 系统建模 四、信息系统战略…

如何用Python搭建HTTP服务器,并实现远程访问和下载?

Python是编程语言中的热门语言,具有语法简单、语句清晰的特点。如果你不擅长编程,学习Python是一个不错的选择,初学者在学习阶段可以较为轻松地理解编程对象和思维方法。对于小白用户来说,它具有强大且丰富的库,封装后可以轻松调用,因此也更受…

走进社区客户端测试 | 得物技术

0.引言 社区 C 端质量体系建设思考? 询问一下 ChatGPT 1、关于社区客户端 1.1 社区端上功能 得物首页 搜索、发布、关注流、推荐流、沉浸式单列流、活动 tab、其他二级频道 tab 动态详情页 图文、视频、专栏、点评 私域 个人/他人主页、通讯录好友、微博好友…

ChatGPT的开源平替,终于来了!

最近这段时间,一个号称全球最大ChatGPT开源平替项目Open Assistant引起了大家的注意。 这不最近还登上了GitHub的Trending热榜。 https://github.com/LAION-AI/Open-Assistant 根据官方的介绍,Open Assistant也是一个对话式的大型语言模型项目&#xff…

DX云音乐(安卓)

首先,软件安装好不用注册登录就可以直接使用,在首页这里有很多推荐的热门歌单,比如,有年度热门的DJ歌曲,有抖音热门DJ,有各种跨年晚会,有运动必备的DGM,有90后的经典旋律等等。 还有…