[摘要]剖析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内核的功能更新的详细内容。更多信息请关注PHP中文网其他相关文章!

Linux和Windows的安全模型各有优势。Linux提供灵活性和可定制性,通过用户权限、文件系统权限和SELinux/AppArmor实现安全。Windows则注重用户友好性,依赖WindowsDefender、UAC、防火墙和BitLocker保障安全。

Linux和Windows在硬件兼容性上不同:Windows有广泛的驱动程序支持,Linux依赖社区和厂商。解决Linux兼容性问题可通过手动编译驱动,如克隆RTL8188EU驱动仓库、编译和安装;Windows用户需管理驱动程序以优化性能。

Linux和Windows在虚拟化支持上的主要区别在于:1)Linux提供KVM和Xen,性能和灵活性突出,适合高定制环境;2)Windows通过Hyper-V支持虚拟化,界面友好,与Microsoft生态系统紧密集成,适合依赖Microsoft软件的企业。

Linux系统管理员的主要任务包括系统监控与性能调优、用户管理、软件包管理、安全管理与备份、故障排查与解决、性能优化与最佳实践。1.使用top、htop等工具监控系统性能,并进行调优。2.通过useradd等命令管理用户账户和权限。3.利用apt、yum管理软件包,确保系统更新和安全。4.配置防火墙、监控日志、进行数据备份以确保系统安全。5.通过日志分析和工具使用进行故障排查和解决。6.优化内核参数和应用配置,遵循最佳实践提升系统性能和稳定性。

学习Linux并不难。1.Linux是一个开源操作系统,基于Unix,广泛应用于服务器、嵌入式系统和个人电脑。2.理解文件系统和权限管理是关键,文件系统是层次化的,权限包括读、写和执行。3.包管理系统如apt和dnf使得软件管理方便。4.进程管理通过ps和top命令实现。5.从基本命令如mkdir、cd、touch和nano开始学习,再尝试高级用法如shell脚本和文本处理。6.常见错误如权限问题可以通过sudo和chmod解决。7.性能优化建议包括使用htop监控资源、清理不必要文件和使用sy

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

记事本++7.3.1
好用且免费的代码编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),