- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android系统内核剖析.doc
Android系统内核剖析
[摘 要]分析Android平台系统架构,通过对最新Android源代码的解析,将其与标准Linux内核源码比较,详细解析Android内核的功能更新,讨论Android 内核与标准Linux内核之间的不同以及Android在移动平台的优势,并对Android在各种内核之间做出一个定位,介绍了Ubuntu环境下Android内核的获取与编译。
[关键词]Android;linux;内核;编译
中图分类号:G354.3 文献标识码:A 文章编号:1009-914X(2013)33-0119-01
1、概述
随着嵌入式技术的飞速发展,移动智能平台的运行速度和所集成的功能获得了极大提升。藉此,由Google主导的开放手机联盟OHA顺势在2008年推出了Android移动终端平台。Android是一个开放、自由的移动终端平台[1],它的发布,打破了诺基亚 Symbian操作系统操作系统在传统智能手机平台上的垄断地位,同 时,其平台化的优势也大大丰富各种手持式设备软件的功能。
2、Android 系统架构
Android是 Google开发的基于Linux平台的开源手机操作系统,它是一 个移动终端平台,包括了移动电话工作所需的全部软件,由操作系统、中间件、 UI 及应用程序组成。
Android系统架构自底向上由以下4个层次组成[2]:基于Linux的内核模 块、运行时库与其他库、应用程序框架、应用程序。
第一层:Linux 操作系统和Android系统扩展,由C语言实现。
第二层:系统库层与Android运行时环境,由C/C++实现。
第三层:Android应用程序框架隐藏在每个应用后面的是一系列服务和统。
第四层:Android应用程序
Android 应用程序层由运行在Android设备上的所有应用共同构成,它不仅 包括通话、短信、联系人等系统应用,还包括其他后续安装到设备中的第三方应用。3、Android 内核分析
2.1 内核在操作系统中的地位
Android基于Linux操作系统,由硬件、系统内核、系统服务和应用程序等 四大部分组成。其中,内核是最核心的部分,其主要作用在于与计算机硬件进 行交互,实现对硬件的编程控制和接口操作,调度访问硬件资源,同时向应用 程序提供一个高级的执行环境和对硬件的虚拟接口。主要功能包括:中断服务 程序、进程调度程序、进程地址空间的内存管理、进程间通信。
2.2 Android内核
为了对比分析Android内核,在Ubuntu操作系统上搭建了Android内核 的编译开发平台,通过repo,下载最新的Android内核代码版本Jelly Bean。
经过与标准Linux内核源代码进行详细对比,可以发现,Android内核与标 准Linux内核在文件系统、进程间通信机制、内存管理等方面存在不同。
(1)文件系统
Android内核中增加了标准Linux内核中没有采纳的YAFFS2文件系统。
(2)进程间通信机制
Binder是一种进程间通信机制,其实是提供远程过程调用(RPC)功能。在
Android系统的Binder机制中,由一系统组件组成,分别是 Client、Server、Service Manager和Binder驱动程序,其中 Client、Server 和 Service Manager 运行在用户空间,Binder驱动程序运行内核空间。
(3)内存管理
在内存管理模块,Android内核采用了一种不用于标准 Linux内核的低内
存管理策略。Android系统采用的则是一种叫作LMK(Low Memory Killer)的 机制,这种机制将进程按照重要性进行分级、分组。内存不足时,将处于最低级别组的进程关闭。
4、Android 内核获取与编译
下面以Ubuntu 13.04操作系统为例,讲解在 Ubuntu 13.04系统下如何搭建
Android内核编译开发平台。在Ubuntu上搭建Android内核编译环境,具体步 骤如下:
(1)准备系统环境, 需要的软件包列表 flex, bison,gperf, libsdl-dev, libesd0-
dev,libwxgtk2.6-dev(optional), build-essential, zip,curl;(2)安装JDK的 1.7 版本;(3)安装 repo;(4)在主文件目录建立一个bin文件夹并加入到环境变量当中;(5)下载repo脚本,将它的属性改为可执行curl http:///repo ~/bin/
您可能关注的文档
- .NET技术在油井砂样数据档案分析中的应用.doc
- 10kV开关站的运行.doc
- 10大甜蜜唇彩测评.doc
- 140元药如何卖出3850元?.doc
- 1877―1878年客邮在广州的发展.doc
- 1例半骨盆离断治疗股骨软骨肉瘤术后复发的护理.doc
- 1例玫瑰糠疹病例的观察与护理.doc
- 2006―2009年恩施州贫困线之再确定.doc
- 2012年中考英语书面表达试题特点及分析.doc
- 2012年中考英语基础知识运用题型回顾与评析.doc
- ANSYS软件在压陷滚动阻力研究中的应用.doc
- Apology Strategies in the Target Language (English) of Israeli-Arab EFL College Students towards Th.doc
- B2C电子商务中垃圾邮件的法律问题研究.doc
- Basic Principles of Translation.doc
- BIM在建筑项目中的应用研究.doc
- BIM技术在室内装修中的应用研究.doc
- Binary Oppositions and the Meaning of Joyce’s Dubliners.doc
- Book、Movie、Music.doc
- C#.net开发中的word文档处理.doc
- C2C电子商务平台用户体验设计研究.doc
文档评论(0)