[摘要]剖析android平台系统构架linux 删除文件夹,通过对最新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运行时环境linux 软件,由C/C++实现。
第三层:Android应用程序框架隐藏在每位应用前面的是一系列服务和统。
第四层:Android应用程序
Android应用程序层由运行在Android设备上的所有应用共同构成,它除了包括通话、短信、联系人等系统应用,还包括其他后续安装到设备中的第三方应用。3、Android内核剖析
2.1内核在操作系统中的地位
Android基于Linux操作系统,由硬件、系统内核、系统服务和应用程序等四大部份组成。其中,内核是最核心的部份,其主要作用在于与计算机硬件进行交互,实现对硬件的编程控制和插口操作,调度访问硬件资源,同时向应用程序提供一个中级的执行环境和对硬件的虚拟插口。主要功能包括:中断服务程序、进程调度程序、进程地址空间的显存管理、进程间通讯。
2.2Android内核
为了对比剖析Android内核,在Ubuntu操作系统上搭建了Android内核的编译开发平台,通过repo,下载最新的Android内核代码版本JellyBean。
经过与标准Linux内核源代码进行详尽对比,可以发觉,Android内核与标准Linux内核在文件系统、进程间通讯机制、内存管理等方面存在不同。
(1)文件系统
Android内核中降低了标准Linux内核中没有采纳的YAFFS2文件系统。
(2)进程间通讯机制
Binder是一种进程间通讯机制linux内核android,虽然是提供远程过程调用(RPC)功能。在
Android系统的Binder机制中,由一系统组件组成,分别是Client、Server、ServiceManager和Binder驱动程序,其中Client、Server和ServiceManager运行在用户空间,Binder驱动程序运行内核空间。
(3)显存管理
在显存管理模块,Android内核采用了一种不用于标准Linux内核的低内
存管理策略。Android系统采用的则是一种叫作LMK(LowMemoryKiller)的机制,这些机制将进程根据重要性进行分级、分组。显存不足时,将处于最低级别组的进程关掉。
4、Android内核获取与编译
下边以Ubuntu13.04操作系统为例,讲解在Ubuntu13.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脚本,将它的属性改为可执行curlhttp:///repo>~/bin/repochmoda+x~/bin/repo;(6)创建一个保存源码的目录mkdircoredroidcdcoredroid(7)获取Android内核代码:gitclonegit:///kernel/common.git
经过以上步骤,最新版本Android内核就被下载到文件夹coredroid当中。make编译完成后生成zImage文件,可用模拟器测试运行cdmydroid/out/cupcake/out/target/product/genericemulator-imagesystem.img-datauserdata.img-ramdiskramdisk.img-kernel~/coredroid/common/arch/arm/boot/zImage
5、结语
Android内核由标准Linux内核优化得来,其承继了Linux内核的各类优点,保留了标准Linux内核的主体构架。同时,Android根据联通平台的需求,在文件系统、内存管理、进程间通讯机制、电源管理等方面进行了更改,添加相关的驱动程序及必要的新功能,而且与大多数精简的嵌入式Linux操作系统相比,Android很大程度上保留了标准Linux的基本构架,为此,Android系统应用范围愈加广泛,拓展性更强。
参考文献
[1]CodeHome.Android-AnOpenHandsetAllianceProject.[EB/OL]http:///android/what-is-android.
[2]公磊,周聪.基于Android的联通终端应用程序开发与研[M].人民邮电出版社linux内核android,2007
[3]赵炯.Linux内核完全注释[M].机械工业出版社,2004.
[4]陈莉君.Linux内核的剖析及应用[J].南京邮电大学学报.
以上就是分析Android内核与标准Linux内核的功能更新的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:代号邱小姐,转转请注明出处:https://www.dingdanghao.com/article/517109.html