Android系统分析

Android系统分析
Android系统分析

Android操作系统分析

穆英华

基于Linux内核的Android操作系统尽管非常年轻,却已经占领了智能手机9%的市场,而且还在向其它移动平台及嵌入式领域迅速扩张着。下图为2010年一季度的智能手机操作系统占有率统计。在国内外制造商纷纷推出基于Android的产品、Android Market中的应用程序飞速增长的背景下,有必要对Android操作系统的情况进行调研,对比其与Midinux的优劣势、估计其机遇或威胁。本文将从以下几个方面分析Android:目标用户群、支持硬件架构、平台技术架构、应用程序数量、未来发展方向。

一.目标用户群

覆盖高、中、低端智能手机用户是Android的主要目标,尤其是市场上基于ARM11处理器的智能手机已经降到1000元人民币的价格,让低成本的硬件配置也可以运行Android系统,更使得Android从中高端扩展到低端成为可能。除智能手机外,Android已经渗透到了平板电脑、上网本,乃至汽车电子、机顶盒、电子相册、无绳电话等各移动平台和嵌入式产品领域。

对于Android的智能手机和平板电脑用户,Android Market中种类丰富和数量众多的应用程序是其选择Android的重要原因,没有众多可选择的第三方应用程序,操作系统就是再性能优异,也不会对用户有任何杀伤力。这一点类似于苹果的iOS,但总体来说,Android 的用户不会像苹果用户那样忠诚、他们中的很大一部分也不会像苹果用户那样为数码产品花费那么多金钱,可以说Android更大众一些。

二. 支持硬件架构

1.支持的硬件架构

目前Android已经移植到了ARM、X86、M IP S各体系架构中的很多处理器核、处理器芯片、以及更多的板级结构上,对PPC等体系架构的移植也早已开始。如高通、三星等芯片制造商推出的基于ARM C ortex-A8处理器核及P o w er V R显示核心的处理器芯片早已移植Android成功,并被联想的Le Ph one、魅族的M9等许多手机采用,多核的C ortex-A9也蓄势待发。随着

较低端的基于ARM9核的一些处理器也移植Android成功,Android将在低端手机及其它低硬件配置设备中进一步渗透。随着基于ARM及D S P双核的OMA P处理器的部分型号移植Android 成功,Android在一些专用领域也将进一步扩展。

2.硬件架构的支持

上段介绍了Android对硬件架构的支持,其实反过来,作为一种嵌入式操作系统,获得硬件芯片对Android的专门支持也是很重要的。例如山寨手机芯片M TK成功的原因之一就是采用J a v a开发手机以降低开发难度、缩短开发周期。而廉价的ARM7内核通过软件虚拟机跑J a v a很吃力,M TK采用改进的硬件上支持J a v a加速的ARM7EJ内核后便有效地提高了性能,同时还大大降低了功耗。所以从长远计,Android应该与ARM、I nte l等公司结成联盟,研制专门支持Android的处理器芯片。

三.平台技术架构

1.软件层次

上图为Android平台技术架构图。由下至上一共分为四层。

第一层:Linux内核(Linux K erne l)。Android为基于Linux内核的操作系统,尽管它已经被Linux除名。Linux内核的强大功能为Android提供了良好的发展基础,另外此层还包括一些与移动平台相关的硬件设备驱动,包括:液晶屏驱动(D i spl a y D ri v er)、摄像头驱动(C a m era D ri v er)、蓝牙驱动(Bl uetoot h D ri v er)、Fl a sh驱动(Fl a sh Me m or y D ri v er)、用于Android独有的进程间通信方式的B inder驱动(B inder D ri v er)、U S B驱动(U S B D ri v er)、键盘驱动(K e yp ad D ri v er)、W i F i驱动(W i F i D ri v er)、音频驱动(Audio D ri v er)、电源管理(P o w er Mana g e m ent)。

第二层:库(Li b rarie s)。包括各种底层标准库和Android为移动平台添加的专用库,以及Android运行时库。

各种库如下:界面管理(Sur f a c e Mana g er)、多媒体框架(Media F ra mw ork)、S Q Lite数据库、3D图形库O p en G L|E S、绘制字符的F ree Typ e、浏览器内核W e b kit、2D图形库S G L、保障网络通信安全的SSL(Se c ure So c ket La y er)、l i bc库。

Android运行时库如下:D a lv ik J a v a虚拟机(D a lv ik V irtua l Ma ch ine), D a lv ik不同于标准的J a v a虚拟机,它基于寄存器而不是基于栈;它的字节码也不同于标准J a v a虚拟机,其采用的.dex格式更节省存储空间。核心库(C ore Li b rarie s),包含了J a v a编程语言核心库的大部分功能。

第三层:应用程序框架。为上层的应用程序提供框架及A PI。

第四层:应用程序。包括谷歌开发的主屏幕(H o m e),联系人(C onta c t),电话(Ph one),浏览器(B ro w er s)等主要应用程序和Android Market上的海量第三方应用程序。

2.系统运行时的动态层次

虽然Android与标准的Linux有很多不同之处,且已被Linux除名,但归根结底还是一种Linux操作系统。标准Linux运行时的层次如下:

用户空间:运行进程,在ARM-Linux中每个进程有3G的虚拟内存空间。

内核空间:运行Linux内核,在ARM-Linux中内核有1G的虚拟内存空间。

Android在动态层次上与标准Linux只有一个不同,就是采用了J a v a虚拟机,每个J a v a 应用对应一个Linux进程。Android运行时的层次如下:

Android应用空间:Ser v i c e,p rox y,A c ti v it y,p ro v ider,对应Linux的进程。

内核空间:与标准Linux内核空间相同。

四.应用程序数量

据6月的统计数字,Android Market上的应用程序达到了约6万个,预计到年底将超过十万个。虽然与苹果的A pp s tore的约25万个应用程序还有差距,但凭借谷歌和各大合作伙伴的支持,以及迅速扩大的用户群, Android与iOS的差距将进一步缩小。

五.未来发展方向

1.云计算

在人“云”亦“云”的时代,云计算已经成为一种“时尚”,但 Android却是实实在在的理想的云计算终端,它有以下几个优势:

Android中可靠的Linux内核提供了软件的基础。

Android的最佳硬件搭档——ARM提供了超低的功耗和超高的效率。

Android中的SSL库提供了保障网络通信安全的基础。

Android的D a lv ik虚拟机提供了比普通J a v a虚拟机更高的程序执行效率和更低的功耗。

Android庞大的第三方开发团队将会提供越来越多的相关应用程序。

谷歌的强大技术实力、尤其是其在云计算领域的研究提供了坚实的后盾。

2.物联网

越来越多的设备乃至物体将接入I nternet已是不争的趋势,基于Android的移动平台和嵌入式设备将担负起终端和网关的作用。例如住宅里的各种智能家电将实时信息通过蓝牙、W i F i、Z i gB ee等方式传递给Android设备,Android设备通过以太网、3G、4G等方式接入I nternet。若在Android设备上架好W e b服务器,则远端的Android平台或PC机用户将无需安装应用软件,通过网络浏览器就可以实时查看节点信息、甚至发送控制信号。

3.未来的隐忧

Android发展极为迅速,但也埋下了许多问题:

不够开放。虽然Android自称是开源的、可下载内核源码,但很多东西还是看不到。

设备种类太杂。Android早已不只用于手机、平板电脑设备,甚至已经不是移动平台所专用,而是扩展到了整个嵌入式领域,可以说只要嵌入式设备上有液晶屏就可能采用Android。这势必导致驱动和A PI的分化和复杂化,再加上Android不同版本号的差异,问题会越来越严重。

山寨机的春天。广大山寨厂商将告别M TK+J a v a的时代,开启ARM C ortex-A+Android的时代,由于开发的软件门槛较低,低质量的内核移植和应用程序开发将扰乱市场。例如之前未从事过Android开发的我从网上简单查阅了一些资料就可以编写几个小的应用程序,可见入门门槛之低,见下图。

六.结论

Android在今后较长时间里还会快速发展、与苹果的iOS争霸移动平台市场,它的发展也对M ID inux构成了极大的威胁,尤其是其海量的第三方应用程序是M ID inux无法比拟的。由于M ID inux与Mae m o的亲缘性,若M ID inux能够兼容Mee g o的应用程序,那么就将有力地抵消Android的威胁。

相关主题
相关文档
最新文档