安卓系统内核分析

安卓系统内核分析

ID:42975084

大小:33.00 KB

页数:3页

时间:2019-09-24

安卓系统内核分析_第1页
安卓系统内核分析_第2页
安卓系统内核分析_第3页
资源描述:

《安卓系统内核分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、安卓系统内核分析Android是Google开发的基于Linux平台的开源于•机操作系统。它是一个移动终端平台,包括了移动电话所需的全部软件,由操作系统、中间件、UI(Userinterface)及应用程序组成。开发人员使用Java语言,开发运行于Dalvik虚拟机上的应用程序。其运行效率比一般嵌入式“linux操作系统上的J2ME程序高。Android系统架构自底向上由以下4个层次组成:基于Linux的内核模块、运行时库与其他库、应用程序框架、应用程序。其屮内核(Kernel)是最核心的部分。我们对Android的内核模块进行分析。

2、Android内核基于Linux2.6,提供安全、内存管理、进程管理、网络组、驱动模型等核心服务。同所有Linux内核一样。Android内核是介于硬件层和软件组Z间的一个抽象层次。其主要作用在于与计算机硬件进行交互,实现对便件的编程控制和接口操作。调度访问硬件资源,同时向应用程序提供一个高级的执行环境和对硬件的虚拟接口。主要功能包括:屮断服务程序、进程调度程序、进程地址空间的内存管理、进程间通信。内核与普通应用程序不同,其拥有所有硬件设备的访问权限以及启动时即划分的受保护的内存空间。Android内核是在标准Linux内核的基础上修

3、改而成。为了适应嵌入式硬件环境和移动应用程序的开发。Android对标准Linux内核进行了一定的修改。为了对比分析Android内核,在Ubuntu操作系统上搭建了Android内核的编译开发平台,通过repo,下载最新的Android内核代码版本cupcake(Jt中Linux内核版木为2.6.27)从获得的内核源码树的根日录结构看,Android内核源码与标准Linux内核并无不同。经过与标准Linux内核源代码进行详细对比,可以发现,Android内核与标准Linux内核在文件系统、进程间通信机制、内存管理等方面存在不同。•文

4、件系统不同于桌面系统与服务器,移动设备大多釆用的不是硬盘而是釆用Flash作为存储介质。因此,Android内核屮增加了标准Linux(内核屮没有采纳的YAFFS2文件系统YAFFS2(YetAnotherFlashFileSy-steln.2ndedition)是专用于Flash的文件系统。对NANDFlash芯片有着良好的支持。YAFFS2是H志结构的文件系统,提供了损耗平衡和掉电保护。可以有效地避免意外断电对文件系统一致性和完整性的影响。YAFFS2按层次结构设计,分为文件管理接口、内部实现层和NAND,简化了其本身与系统的接E

5、l设计,能更方便地集成到系统当屮。经过测试证明,YAFFS2性能比支持NOR型闪存的JFFS2文件系统优秀171。•进程间通信机制Android增加了一种进程问的通信机制IPCBinder。在内核源代码中,驱动程序文件为Coredroid/inelude/linux/binder.hcoredroid/drivers/android/binder.CoBinder通过守护进程ServiceManager管理系统屮的服务,负责进程问的数据交换。各进程通过Binder访问同一块共享内存,以达到数据通信的机制。从应用层的角度看,进程通过访问

6、数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据。而其他进程要访问数据,也只需与程序框架接口进行交互,方便了程序员开发需耍交互数据的应用程序。•内存管理在内存管理模块,Android内核采用了一种不用于标准Linux内核的低内存管理策略。在标准Linux内核当中,使用一种叫做OOM(OutofMemory)的低内存管理策略;当内存不足时,系统检查所有的进程,并对进程进行限制评分,获得最高分的进程将被关闭(内核进程除外)。Android系统采用的则是一种叫作LMK(LowMemoryKiller)的机制。这种机制将迹程

7、按照重要性进行分级、分组。内存不足时,将处于最低级别组的进程关闭。例如,在移动设备当屮,UI界面处于最高级别,所以该进程永远不会被中止,这样,在终端用户看来,系统是稳主运行的。在Andorid内核源码中,LMK的位置是coredroid/drivers/mise/lowme—morykiller.c。与此同时,Android新增加了一种内存共享的处理方式Ashmem(AnonymousSharedMemory匿名共享内存)。通过Ashmem,进程间可以匿名自由共享具名的内存块,这种共享方式在标准Linux当屮不被支持。•电源管理由于A

8、ndroid主要用于移动设备,电源管理就显得尤为重要。因此,在Android内核当屮,增加了一种新的屯源管理策略。目前Android采用的是一•种较为简单的电源管理策略,通过开关屏幕、开关屏幕背光、开关键盘背光、开关按钮

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。