已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安卓操作系统和苹果操作系统的比较研究1两个系统的描述1.1安卓1.1.1发展历史2003年6月,安迪鲁宾创办了安卓公司。(Elgin,2005)他的目标“为所有软件设计者设计一款移动手持开放平台”。(Markoff,2007)2005年7月,谷歌以不明价格购买安卓公司。(Olsen,2005)在谷歌安迪鲁宾被称为“移动平台先驱”。(Markoff,2007)随着开源的安卓平台的不断发展,这样一个软件栈将对实现低成本开发和分发的移动设备和服务具有重要意义,2007年11月5日,开放手机联盟宣告成立。(Open Handset Alliance,2007)显然,该联盟是被谷歌所领导的。2008年10月21日,谷歌和开放手机联盟发布了Apache许可下的整个安卓平台源代码。根据谷歌安卓产品经理Erick Tseng的介绍,这个发布时间是被专门设计好的,就在第二天,第一款“谷歌手机”G1由T-Mobile发布了。(Boulton,2008)从10月21日公布安卓平台代码以来,一共有三次重大更新,到今年一月份,版本已经更新到了2.1(Android Developers,2010a)这三次重大更新增加了许多了特性,包括:屏幕键盘,视频录像,立体声蓝牙(Android Developers,April),虚拟私人网络,可接入性(Android Developers,2009),互动支持,HTML5支持(Android Developers,2010b)等等。谷歌相信在全世界范围内至少还有8至9家手机生产商的18款手机在使用安卓操作系统。(Richtel,2009)1.1.2硬件执笔之时,Nexus One已经成为了运行安卓操作系统最新版本的手机。Nexus One配置着主频1GHZ的高通骁龙处理器和600MHZ的数据信号微处理机,并且在发射版上拥有4个频段GSM/GPRS/Edge, UMTS, HSPA.内置4GB DDR内存和4GB闪存的存储空间,它还配备了一个用户可更换的4GB SDCard.除了是一个四频手机Nexus One还带有一个调频发射机/接收机,Wi-Fi(A, B, G & N)和2.1+增强速率蓝牙,屏幕是3.7英寸,运行在480x800的分辨率和多点触控,它内置一个配备LED补光灯的5百万像素的摄像头,加速度计,指南针,全球定位系统,双麦克风降噪,外部扬声器,防震,1400毫安电池(iSuppli, 2010)(加兰)(高通)。它只在两个地方公布了拆卸后的信息,而且没有这些规格包含任何信息的总线速度的处理器,我怀疑这仅仅因为骁龙只是单片机,所以尚未公布这些规格。1.1.3线程管理,中断,进程间通信,系统调用安卓操作系统有一套相当精细的线程系统,为建立一个线程安全的应用,开发人员需要承担许多职责。通常情况下,包括UI在内的应用程序都是单线程的。这意味着一个应用中所有“长时间运行”的任务必须分离出后台进程。(Android Developers(a)然而,这比刚才更复杂。该系统的应用被认为由四个模块组成。这些模块为活动窗体,或应用程序的所有用户界面元素,服务(即执行所有后台工作的线程)、,广播接收器(即基本的监听器,它允许一个应用程序响应系统或应用程序的事件),和内容提供者(即数据集,这是应用程序可以提供给其他应用程序的数据。进行分享的一个主要原因,是安卓操作系统鼓励应用程序重用被其它应用程序提供的组件,从而减少重复的编码(Android Developers(b).在大多数情况下,应用程序被认为是基于在活动窗体上目前正在显示和基础设施在后台完成绑定的任务。然而,对于这种内部模型也是有一些危险的,其中最突出的是,改变屏幕的定向销毁和在线的活动窗体,是当前最先显示的。如果开发人员不小心,这个过程会将背景从用户界面线程中分离。(Bruke,2009).安卓操作系统广泛使用事件处理中断,进程间通信和系统调用需要一个前沿应用。详细说明可以在(Android Developers(c) 找到它是如何工作。然而,简要概述如下:一个应用程序初始时激活onCreate,onStart和onResume方法,如果在任意一点,另一个窗体覆盖到这个应用程序的任一部分,将会触发onPause方法。安卓操作系统强烈推荐应用程序在没被杀死以前保存当时状态,不然就再也没有机会了。如果onPause方法调用后,如果整个应用程序不可再见onStop其次调用,onDestroy方法作为应用程序完全关闭。然而,onStop和onDestroy可能会在系统资源低的时候自动调用。操作系统此时会单纯的结束应用程序。这一基本概念创建事件和它们在适当的时候才用的方法是由操作系统之间传递数据的线程在一个单一个应用。如果有必要通过应用程序之间的信息就要通过内容提供者来传递。系统调用有一点复杂。其中一些是通过相同的接口,提供给应用程序。其他都是通过查询内置类的,比如android.location.location类提供了访问当前坐标。1.1.4存储管理安卓操作系统时建立在Java垃圾回收机制上防止内存泄露的。然而,这是真正的和所有语言包括垃圾回收机制是没有装甲保护内存泄露。因此,操作系统的文件提供了一些帮助,如何避免这些情况,将泄露的内存甚至和垃圾收集器(Android Developers (e).然而,由于低等级,内存管理是由内核本身控制的。(version 2.6) (Android Developers (f)1.1.5网络支持/电源管理系统正如内存管理的低层次的细节处理那样也是由Linux系统内核。(Android Developers (f)在目前发布的手机有WiFi A/B/G/N和蓝牙作为主要的网络功能。对于电源管理,用的是内核功能,有了一些优化,增加了电池的使用寿命。在特定的操作系统将试图减少功率消耗的每一个机会,但它也提供了一些API开发,允许他们重写此行为如果绝对必要时。(Android Developers, 2010c)1.1.6软件开发包(包)该软件的操作系统是现成的开发者的网站,以及广泛的文档说明如何安装和使用它。插件也由主流的IDE Eclipse提供(Android Developers, 2010d).将应用程序放入安卓应用超市需要设立一个账户,并且支付25美元给谷歌,并上传您的应用。进一步的步骤可能需要当你想卖你的应用(Android Market).1.2苹果IPhone1.2.1发展历史苹果闻名的秘密使得任何企图得到发展历史相当困难,而且保证了它将是不完整的。然而,什么是知道的是,在二月的2005史蒂夫乔布斯开始秘密否定的,(now AT&T),最终导致AT&T公司有美国独家合同的关系。2006年初,苹果开始修改OSX进程成为IPhone操作系统平台。根据了解,他们将不得不从目前的OSX减少大小几百兆字节数千兆字节。在接下来的一年半的苹果公司花费数百万建立测试环境,建筑的硬件和软件将要制造IPhone。苹果是如此痴迷保密,他们不允许硬件和软件团队互动。2007年1月史蒂夫乔布斯宣布拥有苹果。(Vogelstein, 2009)2007年5月17日苹果公司收到的FCC批准出售手机。(AppleInsider Staff, 2007)2007年6月29日,苹果开始在美国销售。(Block, 2007)当时苹果发布的IPhone只有网络应用软件的支持,一个目录超过200网络应用程序可用,(Gonsalves, 2007)2007年10月17日,迫于公众压力,史蒂夫乔布斯宣布苹果打算公布一个软件开发工具包,允许本地应用程序的软件。(Kim, 2007)三月首次发布以来已经发生了一些重大的里程碑式的操作系统。2.0版本的软件允许应用程序通过软件开发工具包来创建,一个应用程序商店,和交换支持。(Keizer, 2009)3.0版本增加了复制和粘贴,手机搜索,立体声蓝牙,摇一摇,语音备忘录,彩信,(Moren, 2009)等。1.2.2硬件在写这篇文章之时,IPhone 3GS是最新的IPhone。该处理器在它是一个600MHZ的ARM Cortex A8,与256层缓存和多方案/汇流排。它有一个令人印象深刻的射频能力建。它具有通用移动通信系统/ HSD PA在850,1900和2100兆赫波段,GSM/EDGE的850,900,1800和1900兆赫波段;它有Wi Fi B&G,和蓝牙2.1+工作。它有一个3.5英寸480X320多触摸屏,平均每英寸有163点。它有一个300万像素的摄像头,内置指南针和全球定位系统,256 MBRAM,要么16G或32G的内部存储(没有外部存储)(RapidRepair)也有1219毫安电池,内置麦克风,扬声器,耳机和防震。(Dr.Wreck, 2009)1.2.3线程管理,中断,进程间通信,系统调用IPhone 操作系统有着所有操作系统视为标准的线程管理技术。你可以繁衍大量子线程和同步使用所有的常用技术,如:互斥,读写锁,分布式锁等。(Apple, 2009b) (Apple, 2009a)然而苹果公司强烈建议使用线程这种方式。他们认为,直接对线程进行编程太难,而可以作出更有效的让操作系统处理线程的管理。所以推荐使用操作队列。这些队列你分派任务和操作系统所需的线程的工作让它启动,这使得操作系统更有效地处理线程负载和任务处理。(Apple, 2009c)IPhone操作系统允许两种不同方式处理中断。首先是UIApplicationDelegate协议,允许应用程序通知一系列活动窗体并采取适当的行动。一些行动响应可以完全加载,低内存警告,方向改变,即将被停用等。(Apple, 2009d)另一种方式是低等级建设,可以更复杂的使用。它是NSNotification类,这个类允许你通知任何中断,或其他自定义发生在操作系统的活动窗体。然而,你要想了解的活动窗体正是你特此寻找和捕捉的。(Apple, 2007)IPhone操作系统的进程间通信的处理使用用户自定义的处理程序。主要原因是操作系统只允许一个用户的应用程序被激活一次,所以用户应用程序必须互相沟通使用自定义网址,然后专门找他们通过UIApplicationDelegate协议。(Grigsby, 2009)IPhone操作系统否决系统调用。在某些情况下,他们允许通过libSystem库控制系统调用,但大部分系统调用时不允许的。(Gerbarg, 2009)1.2.4内存管理该操作系统没有内置的垃圾收集机制。最接近的体制是他们都是自动释放对象的内存管理。简言之就是应用程序开发者需要管理它们自己的存储。(Kosmaczewski, 2009)1.2.5网络支持IPhone操作系统具有所有网络功能都是抽象的。但是,他们提供了一个样本类来给它权利允许一个应用程序确定是否一个网络资源可用,在需要得知有什么类型的连接的情况下。(Apple, 2008)然而,蓝牙技术是和Wi-Fi处理完全分开的。蓝牙技术是通过Game Kit框架,这一框架创建一个简单的界面,找到其他蓝牙设备,与他们共享数据。(Apple, 2009e)1.2.6电源管理系统IPhone操作系统广泛努力优化功率消耗。它动态的记录CPU时钟,禁止无线网络和基带收音机,停用GPS功能等。为努力帮助开发者,苹果公司还提供了广泛的建议。(Apple,2010a)1.2.7软件开发包(SDK)苹果提供唯一的官方支持的操作系统和软件开发工具包。本软件需要操作系统10.5.7或后,英特尔处理器。简言之IPhone为了发展必须拥有基于Mac的英特尔。然而,软件开发工具包,提供包含一个模拟器,样品,变异,代码分析器,“更多”(Apple,2010b)2比较2.1开发环境开发环境都提供了一个集成开发环境和模拟器以及一些调试工具。IPhone开发才能在Objective C中正式做成一个相当新的Mac系统。同IPhone开发比起来,Android开发是在Java编程语言,可以再所有主流操作系统中运行的Eclipse IDE中完成的。Objective C只是为了Mac开发人员测试而设计的,相比较,Java是世界上最流行的编程语言。(DedaSys,2001)在这两家控制公司如何处理他们的应用商店上也有显著的差异。苹果是什么应用控制都由他们批准和拒绝,而谷歌则是更宽容,另外可以相对容易为用户的设备在另一个应用商店连接。(McAllister, 2008)2.2移植的困难IPhone建设介绍中的移植是一个混合包。苹果商店只需要一个二进制文件,所以它可以使用其他语言和编译写成应用程序。但是,那不能让你在围绕困难瞄准IPhone的特定资源和限制。另一方面,如果你希望往Object C 中移植应用程序,你基本上是把你的应用程序往标准C上,然后使它与之补充,苹果已经使IPhone具有此特定功能。把应用程序移植到Android上是相当容易的,如果您的应用程序在Java开始,你只需要作出必要的调整处理Android特定功能。然而,如果你的应用程序最初是在不同的语言编写的挑战可能更大,特别是如果你的应用在C或者C+上初始化,在C或C+经常编写游戏程序,Java后端还支持为Android在为了大型游戏降低标签。2.3虚拟化据我所知没有一款虚拟化技术可以用于IPhone操作系统。自苹果清楚地宣布不会批准任意一个运行应用程序的解释代码(Mike, 2008),以至于我们并不经验于目前为止还没有发布自己的虚拟解决方案。Android操作系统是众多支持虚拟机移动平台的操作系统之一。简言之,这是一个按键的虚拟化操作系统大公司已经能够修改的工作。因为IPhone是非常严格保密的一套特殊的硬件并且苹果非常控制他们将很有可能永远比其他的虚拟化。然而,更加开放的操作系统像是Android已经开始虚拟化了。2.4可靠性我无法找到任何优质资源把IPhone OS与Android OS的可靠性进行比较。人们似乎对可靠性,硬件和网络基础设施的支持比操作系统本身更感兴趣。有说,我所能说的,IPhone OS相当稳定,但它确实需要每隔几周重启一次。我猜想,这一部分是由于随时间积累内存的泄露。然而,在这种情况下缺乏多服务得很好。Android OS以其多任务操作系统是自然过程更容易互相冲突,造成系统不稳定。根据我的经验,同事使用原始Android电话和全新的Nexus One这是真的。他不得不每两天重新启动在他的第一次电话。他在他的新Nexus One只有每隔几周,就要重新启动计算机时,戴上它通过我的IPhone的经验。2.5安全性很难比较Android OS 和 IPhone OS。IPhone只允许同一时间运行一个应用程序,理论上可以更安全。然而在实践中已经有一些最近的事迹,如最近利用它的代码保护应用程序不被盗取的行为被视为非常怠慢。此外,限制一个用户应用程序组织任何反病毒程序在IPhone上工作的软件。通过比较Android的多任务在理论上使它更开放的攻击。然而,它的安全模型也好多了。机器人是可以利用多年的研究在锁下Java虚拟机(JVM)在保护他们的操作系统。同时身兼多职,性质的Android操作系统已允许反病毒程序被描写为(Gohring,2008)。此刻我还想说,这两个操作系统都是平等在大致关于安全。然而,网路更受欢迎,因而更具针对性。2.6强项IPhone操作系统明确提出一个非常大的注重用户体验,而且这是一个苹果公司一直表现出色的领域。重点介绍了IPhone用户做了一个快乐的使用。IPhone操作系统也现在是很受欢迎的。这意味着大多数移动应用程序正在创造为IPhone操作系统。这造就了一个环境,使几乎每件事几乎所有让你做你想在一个移动设备应用通过一个IPhone。同时,IP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工艺纸设计合同范本
- 幼儿园安全协议合同
- 店铺租凭转让协议书
- 小时工派遣合同范本
- 工程保证中标协议书
- 治安巡逻聘用协议书
- 带孩子保姆合同范本
- 平塘承包合同协议书
- 供应链战略合作合同协议
- 个性化咨询方案设计
- 药物外渗的应急预案及处理
- 改性聚苯醚行业发展预测分析
- 大学课件-机电传动控制(完整)
- 中国各民族建筑风格英文介绍
- 六年级上册科学全册知识点(新改版苏教版)
- 大力弘扬新时代斗争精神PPT怎样弘扬新时代斗争精神PPT课件(带内容)
- 超市店长工作计划总结 超市店长年度工作计划
- 2023学年完整公开课版闽菜1
- 设备采购技术服务方案
- 安全监督先进个人主要事迹范文七篇
- GB/T 38661-2020电动汽车用电池管理系统技术条件
评论
0/150
提交评论