在android系统源代码情景分析一书的试读中,主要是讲述Android系统的硬件
抽象层(Hardware Abstract Layer,HAL)。它的实现和使用依次涉及Android系统的硬件驱动模块、硬件抽象层、外部库和运行时库层、应用程序框架层和应用程序层等。
Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(UserSpace),一层放在内核空间(KernelSpace),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,是可以的,然而从商业的角度来看,把对硬件的支持逻辑都放在内核空间,可能会损害厂家的利益。我们知道,Linux内核源代码版权遵循GNULicense,而Android源代码版权遵循ApacheLicense,前者在发布产品时,必须公布源代码,而后者无须发布源代码。如果把对硬件支持的所有代码都放在Linux驱动层,那就意味着发布时要公开驱动程序的源代码,而公开源代码就意味着把硬件的相关参数和实现都公开了,在手机市场竞争激烈的今天,这对厂家来说,损害是非常大的。因此,Android才会想到把对硬件的支持分成硬件抽象层和内核驱动层,内核驱动层只提供简单的访问硬件逻辑,例如读写硬件寄存器的通道,至于从硬件中读到了什么值或者写了什么值到硬件中的逻辑,都放在硬件抽象层中去了,这样就可以把商业秘密隐藏起来了。也正是由于这个分层的原因,Android被踢出了Linux内核主线代码树中。大家想想,Android放在内核空间的驱动程序对硬件的支持是不完整的,把Linux内核移植到别的机器上去时,由于缺乏硬件抽象层的支持,硬件就完全不能用了,这也是为什么说Android是开放系统而不是开源系统的原因
知道了android系统的体系结构,能让我们更好的去学习它,手机客户端软件,面向服务是软件将是未来的趋势,所以学习android是很有必要的。
发表评论
-
大型分布式网站架构设计与实践
2014-10-17 09:32 8731.大型网站软件系统的特点? a.高并发,大流量。 b.高可用 ... -
产品经理是这样炼成的
2014-10-16 12:02 595产品经理(Product Manager),又称品 ... -
NFC:Arduino、Android与PhoneGap近场通信
2014-10-15 12:53 1493射频识别,RFID(Radio Frequency I ... -
Java特种兵
2014-10-15 09:29 951从事java工作多年,很多东西只知道知其然不知其所以然 ... -
微管理——给你一个技术团队,你该怎么管
2014-06-26 18:54 1394首先,要明白项目 ... -
海量运维、运营规划之道(全彩)
2014-04-23 11:55 769关于海量运维、运 ... -
全程软件测试(第2版)
2014-04-22 14:20 1304软件测试(英语:software testing),描述 ... -
3D打印:三维智能数字化创造(全彩)
2014-04-21 22:58 1085刚刚看完《互联网思维》这本书,书里面简单介绍了3D打印技术 ... -
ADD的人生整理术
2014-03-14 11:34 1005什么是ADD? ADD,英 ... -
专注力:化繁为简的惊人力量
2014-03-14 11:01 1151你有没有这样的同事,他们花了你80%的时间却只给了你不到2 ... -
如何高效的学习
2014-03-11 09:12 703我想对于这个话题每个人有自己的见解,因每个人的习惯,生活方 ... -
SDN核心技术剖析和实战指南
2013-12-09 09:38 1369软件定义网络(Software Defined Ne ... -
智慧的分析洞察
2013-12-04 09:11 781看到这本书的题目让我想到这应该是以本哲学之类的书籍 ... -
做自己
2013-11-22 11:28 4851:每天11:00点前睡觉,每天7:30点前起床; 2:每 ... -
云计算360度
2013-06-27 10:23 976什么是云计算? 我看了很多资料,还是没有弄清楚什么是云 ... -
Web应用安全威胁与防治
2013-01-24 17:31 1803本书的试读章节让我们知道了会话劫持的危害性,对身份验证和会话 ... -
项目中的.NET
2012-11-08 16:34 1002当我看到这一本书的时候,我迫不及待我想拿来读。当我打开试 ... -
看敏捷高手交互卓越软件
2012-08-16 15:25 953有效个人管理的四个步骤 ——确定角色:确定你认为重 ... -
Node.js开发指南
2012-08-13 14:45 4737看到Node.js这个名字,初学者可能会误以 ... -
神一样的产品经理
2012-07-30 15:41 1046既然有产品经理,那么产品究竟是什么? ...
相关推荐
在内容上,《Android系统源代码情景分析(含CD光盘1张)》结合使用情景,全面、深入、细致地分析了Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层...
《Android系统源代码情景分析 第3版》是深入理解Android操作系统内核与应用程序开发的一本重要参考资料。本书针对Java开发者,详细解读了Android系统的各个方面,包括系统架构、进程管理、内存管理、图形系统、网络...
《罗升阳Android系统源代码情景分析(第三版)程序文件》是一本深入解析Android操作系统内核和系统架构的专业书籍的配套程序文件。这个压缩包包含的资源是作者罗升阳在书中提到的各种示例、代码片段以及实验环境,...
Android系统源码情景分析pdf 1.源码驱动开发技巧 2.Android 源码查看技巧 3.Android高级技术学习
ndroid系统源代码情景分析的评论 这本书是我看过的最深入的一本android书了,可以看出作者是一个很有悟性的程序员,很适合需要提高的android框架层工程师进阶。binder部分是目前所有书中分析的最全面的。匿名共享...
Android系统源代码情景分析 01 Android系统源代码情景分析 01 Android系统源代码情景分析 01 Android系统源代码情景分析 01 Android系统源代码情景分析 01 Android系统源代码情景分析 01 Android系统源代码情景分析 ...
Android系统源代码情景分析 一书加强版书签,用于书籍中内容概览与快速定位, 使用 PDFPatcher.exe 合成到书籍 PDF 即可
Android系统源代码情景分析 Android系统源代码情景分析 Android系统源代码情景分析 Android系统源代码情景分析 Android系统源代码情景分析 Android系统源代码情景分析
Android系统源代码情景分析光盘资料 目录 第1篇初识Android系统 第1章 准备知识................................................................ 2 1.1 Linux内核参考书籍......................................
本资源"Android系统源代码情景分析-源码"旨在帮助开发者深入理解Android的工作原理,通过源码级别的学习,提升开发和调试能力。 一、Android系统架构 Android系统主要分为以下几个层次: 1. **Linux内核**:作为...
《Android系统源代码情景分析》随书光盘内容(源代码) 目录如下: 第1篇 初识Android系统 第1章 准备知识 1.1 Linux内核参考书籍 1.2 Android应用程序参考书籍 1.3 下载、编译和运行Android源代码 ...
《Android系统源代码情景分析-源码》是深入理解Android操作系统内核的重要参考资料,它包含了Android系统的源代码,为开发者提供了宝贵的实践学习素材。通过这本书的源码分析,我们可以了解到Android系统的架构、...
Android系统源代码情景分析在内容上,本书结合使用情景,全面、深入、细致地分析Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(ApplicationFramework)以及应用...
《Android系统源代码情景分析修订版光盘》包含了大量的Android操作系统源代码的相关资料,是深入理解Android系统工作原理的重要资源。这份光盘的内容可能包括了从底层驱动到上层应用程序框架的完整源码分析,旨在...
Android系统源代码情景分析 Android系统源代码情景分析 Android系统源代码情景分析 Android系统源代码情景分析 Android系统源代码情景分析
《Android系统源代码情景分析源码》是一份深入学习Android操作系统源码的宝贵资料,主要涵盖了应用层和系统层的源码分析。这份资源对于开发者来说是提升技术水平、理解Android系统内部运作机制的重要工具,旨在帮助...
在内容上,本书结合使用情景,全面、深入、细致地分析Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(Application Framework)以及应用程序层(Application)。...
《Android系统源代码情景分析》一书的光盘内容提供了深入理解Android系统内核和其工作原理的宝贵资源。这本书的焦点在于通过一系列详细的序列图,帮助读者剖析Android系统的源代码,让开发者能够更有效地进行系统级...
《Android系统源代码情景分析》随书光盘内容(源代码) 目录如下: 第1篇 初识Android系统 第1章 准备知识 1.1 Linux内核参考书籍 1.2 Android应用程序参考书籍 1.3 下载、编译和运行Android源代码 1.3.1 下载...
在内容上,本书结合使用情景,全面、深入、细致地分析Android系统的源代码,涉及到Linux内核层、硬件抽象层(HAL)、运行时库层(Runtime)、应用程序框架层(Application Framework)以及应用程序层(Application)。...