摘要: 移动设备市场一直以来都非常火爆,特别是具有苹果的iPhone和Verizon Wireless公司的Droid的智能手机市场。这些平台上的硬件技术令人印象深刻,但事实上,围绕系统的软件和服务基础架构使得这些产品实现了差异化。大量iPhone应用程序显然说明了一个好的开发平台能使应用程序的普及非常容...
移动设备市场一直以来都非常火爆,特别是具有苹果的iPhone和Verizon Wireless公司的Droid的智能手机市场。这些平台上的硬件技术令人印象深刻,但事实上,围绕系统的软件和服务基础架构使得这些产品实现了差异化。
大量iPhone应用程序显然说明了一个好的开发平台能使应用程序的普及非常容易。iPhone也许很流行,但它的软件平台是为有限数量的硬件平台设计的,并且全部是苹果公司的平台。Symbian操作系统和框架用于与iPhone相同的领域,但Symbian可以用于更广泛的平台,包括基于ARM的智能手机。Symbian操作系统现在是由Symbian Foundation负责的一个开源项目。
Android与这些操作系统框架非常类似,它的最初应用目标也是智能手机。这也就不奇怪它的赞助商是Open Handset了。Android与众不同的一点是,很多人将它用于智能手机以外的平台。如果开发人员想充分发挥Android的优势,那么他们就需要了解它的工作原理。为了与Android进行比较,先看看能够满足这一领域中硬件要求的另外两种平台。
最流行的平台之一是微软的Windows CE,在智能手机市场被称为Windows Mobile。但它的基本框架架构与微软的台式机和服务器平台上的是一样的,包括最新的台式机版本Windows 7。
另外一个平台是就像Android一样基于Linux的Moblin,它适用于使用Intel Atom处理器的上网本和移动互联网设备(MID)。从这个角度讲,Moblin与苹果和Symbian解决方案非常相似。
所有这些平台都很独特,但它们共享许多类型的公共组件。例如,Android和微软的.NET框架都是基于虚拟机(VM)技术创建的。
Android的优势
“Android在Linux基础上削繁就简,向开发人员提供源自谷歌的易用和著名环境用于图形化用户界面(GUI)创建,使它们专注于针对远不止手机的嵌入式系统开发有竞争力的解决方案。”德州仪器(TI)公司开放平台技术专家Jason Kridner表示,“这使得Android成为一种强大的操作系统,能用于基于OMAP3处理器的设计,例如TI的OMAP35x评估模块或非常流行并且拥有众多支持者的BeagleBoard,可以帮助开源创新公司建立具有高性能和低功耗且基于ARM Cortex-A8的小型低成本系统。”
图1:Android应用程序是用Java编写的,运行在Dalvik虚拟机(DVM)上。
基于Linux的Android使用固有设备驱动程序向Android基本框架提供整套服务。固有应用程序可以运行在这个系统上,并且可以访问这些服务,但大多数应用程序将用Java编写,目标是Dalvik VM(图1)。这些应用程序还能充分发挥应用程序框架的优势,提供Verizon Wireless Droid用户熟悉的用户界面。Droid就是一款Android智能手机 (图2)。
图2:Verizon Wireless的Droid手机采用Android 2.0,有许多亮点。
Dalvik VM(DVM)运行Dalvik可执行(.dex)文件。这些编译过的Java应用程序类似Sun Java虚拟机(JVM)使用的类文件。从概念上讲,DVM和JVM的应用层几乎没有区别。但从架构上讲,基于寄存器的DVM和基于堆栈的JVM有很大的差异。
DVM和JVM都使用VM代码模型。然而,DVM使用基于寄存器的操作码,相当于大多数目标平台已经执行的基于寄存器的字节码指令。DVM包括了许多架构,如ARM和MIPS架构以及英特尔(Intel)、AMD和威盛的x86兼容架构。
社群二维码
关注“华强商城“微信公众号
Copyright 2010-2023 hqbuy.com,Inc.All right reserved. 服务热线:400-830-6691 粤ICP备05106676号 经营许可证:粤B2-20210308