android ios 对比 组件_iOS系统和Android系统全面对比

摘  要

iOS和Android占据当今智能移动终端市场的半壁江山,结合《嵌入式系统》学习的软硬件协同开发等理念,从硬件、软件、用户三个角度进行iOS与Android的比较。其中,硬件选择作为嵌入式系统的灵魂的处理器进行对比;软件从框架、运行机制、后台机制、指令权限优先级、开发角度对比;用户从系统应用、价格、安全管理、系统更新。其中穿插个人总结以及结论总结。

1引  言

通过学习《嵌入式控制系统》课程,构建了嵌入式系统的整体框架结构,包括硬件系统、软件系统两大部分,二者相辅相成,通过不断修改、不断完善的软、硬件协同设计实现,以应用为中心,以计算机技术为基础,软硬件可配置,对功能、性能、可靠性、成本、体积、功耗有严格约束的专用系统。生活中最常见的嵌入式系统便是智能手机,即移动智能终端。而目前的移动智能终端市场操作系统,以iOS和Android两大阵营为主,智能手机终端越来越成为信息获取和传播的重要载体,深刻影响着人们的学习、工作、生活。

结合课程知识以及网络搜集到的文献资料、自身兴趣驱使,进行对问题“嵌入式操作系统iOS和Android的全面对比”的研究探讨。

初步研究思路:由于软件、硬件相辅相成,协同设计,所以两阵营的嵌入式操作系统的全面对比,首先应从硬件系统入手;其后,将从软件系统设计特点切入;再而,站在应用层面的不同角度,如安全、生态等角度进行对比分析;最后,进行总结。

2硬  件

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可配置,对功能、性能、可靠性、成本、体积、功耗有严格约束的专用系统。

嵌入式操作系统作为嵌入式系统的重要组成成分,必然具有可嵌入性、可剪裁性、可扩展性、及时性、可确定性、并发性、可信性等与嵌入式系统相似的特点;同时,需要兼顾硬件部分,软、硬件协同设计;两者相辅相成,互相影响。故首先从iOS和Android两大阵营的硬件系统切入,处理器是嵌入式系统的技术关键和技术核心,是移动智能终端的灵魂,更能体现iOS和Android两大阵营的特点。

2.1 iOS处理器

Apple公司在2010年首次推出基于ARM架构的自研处理器A4,A系列处理器首次应用于iPhone,随后Apple公司保持着高频率、高质量的处理器的更迭,每次性能都得到了大幅度提升。苹果公司软硬件高度统一,完全闭环,避免了兼容性问题的考虑;而高通等公司在考虑性能的同时,仍要兼顾对不同设备的兼容性问题,这使得iOS操作系统具有天生优势。

软硬件协同设计开发,是《嵌入式系统》课程中嵌入式软件工程强调的重要设计思想。软件开发和硬件资源是相辅相成,相互依赖的关系,苹果公司自研处理器、操作系统,无需考虑多厂商的兼容性问题,软硬件高度统一,是iOS处理器能同Android抗衡的重要原因之一。

2.2 Android处理器

Android处理器生产厂商较多,其中高通、华为、三星等较为主流,华为、三星芯片和Apple公司同样采用自研自用,而其他国内手机厂商如小米、oppo、vivo等虽然占有一定国内市场,但不具备自研芯片的技术能力,需要从高通、联发科等厂商购买,再进行相应的操作系统的设计开发,受限于处理器的核心技术。处理器在设计、生产的过程中,难以真正做到软硬件协同设计开发,需要兼顾不同厂商;同时,操作系统的设计开发是在已有处理器、无法对处理器进行再设计的情况下进行。

2.3 总  结

iOS和Android操作系统生态圈大相径庭,iOS系统是基于Apple公司自研处理器A系列进行的开发设计,由于处于“同一屋檐下”,软件系统同硬件系统的协同设计得以更好的进行,使得iOS系统更适合A系列处理器的同时,A系列处理器也更适合iOS系统,符合嵌入式系统设计的理念;反观Android生态,除了华为、三星等厂商,其他厂商通过购买高通、联发科等处理器厂商的芯片,在其基础上进行各自操作系统的设计,在面对处理器既定的情况下,操作系统设计只能屈服于兼容、性能等一系列问题,而处理器厂商也不得不屈服于开发出更普适的处理器,这使得部分Android手机厂商从起步就落后于Apple公司,核心技术必须握在手里。但并不是所有Android移动终端厂商都低人一等,华为,国人更愿意称之为“国产之光”,麒麟系列芯片已经占据了部分市场,同高通、苹果等同争天下,在其基础上搭建的系统而逐渐得到认可。

3软  件

搭建在硬件系统之上的便是软件系统,软硬件协同设计的思想一直是嵌入式软件工程所倡导的设计理念。单一的处理器,没有操作系统、软件应用放到用户面前,也只是块毫无价值的电路板。故在硬件基础上,从软件层面切入,分析对比两大阵营Android和iOS系统的区别,主要从框架、开发以及一些机制进行对比。由于嵌入式操作系统一直随着时代不断地更迭进步,所搜集资料仅能体现部分时期的特点对比。

3.1 框架

3.1.1 iOS系统框架

iOS系统是Apple公司开发的移动端操作系统,作为iPhone移动设备开发人员,所有开发工作都要依赖于iOS来完成。iOS全称iPhone OS(Operation System),它的第一个版本于2007年发布。一开始,该系统并没有被官方命名,直到2008年iPhone SDK发布,这一命名问题才得解决。iPhone OS来源于Mac OS,是一种类Unix操作系统,iOS系统作为软件应用程序与设备硬件的桥梁,应用程序首先与操作系统的接口通信,系统收到信息后再去与底层硬件实现交互从而完成程序要完成的任务。iOS操作系统架构分为四层,从下到上依次为Core OS层、Core Services层、Media层和Cocoa Touch层。

图3-1 iOS操作系统架构图

其中,Core OS与Core Services为iOS系统底层接口。Core OS包含了电池管理、文件系统等服务。Core Services层包含了网络请求、数据库访问、浏览器、文件访问等。Media层主要是为应用程序提供对各类媒体文件的支持,图的绘制、多媒体的播放以及动画等特效。Cocoa Touch层位于最顶层,为整个系统提供程序所使用的各类基础框架,该层主要功能是处理iOS设备上的交互操作,多为与界面相关的框架。

3.1.2 Android系统框架

Android系统平台是由Google公司开发出来的,其系统内核本身通过Linux内核,操作系统属于嵌入式。Android平台采用分层架构的思想进行设计,其架构从上到下共有四层,最上面一层是与用户交接的应用程序层(Application),然后是系统的逻辑运行的应用程序框架层(Application Framework),之后是支撑系统运行的系统库(Libraries)和Android运行时(Android Run-time),最底下一层是Linux内核(Linux Kernel)。

基于Android开发的应用程序都是通过Java程序语言进行设计实现的。每一个程序的运行都代表着系统一个进程的实现,Dalvik虚拟机里面的每一个实例都是进程的具体体现,Dalvik虚拟机可以同时运行多个进程实例,从而实现多个任务并行处理,此模式大大提高了Android操作系统的性能。

图3-2 Android系统框架图

其中,Linux内核层是实现Android平台软硬件融合的基础,其将硬件资源进行了屏蔽,并提供各种公共功能,以便为上一层提供相应服务,有助于提升应用效率。Android库层中,Dalvik虚拟机在运行时占用的资源很少,使得系统能同时运行多个VM,并且拥有较好的性能,平台的寄存器技术由谷歌自主研发,同时为了方便各项功能处理,平台提供许多方法供调用。该层通过一些重要的库文件,对系统起着服务支撑作用,通过将服务文件集中统一到系统底层可以让系统具备更强的兼容性,配合不同的硬件完成工作,其中最典型的就是NDK。在应用框架层时,首先需要获得开发权限,并以框架为工作重点,框架的使用可以实现组件复用,减少代码开发,提升开发效率。应用程序层,是系统的顶层,是直接面向于系统使用者的,Android移动操作系统的应用层包括了大量的应用程序,并利用系统底层的Dalvik虚拟机运行。

3.2 运行机制

3.2.1 iOS沙盒运行机制

图3-3 iOS应用程序在其沙盒中运行

出于安全考虑,iOS应用程序与文件系统的交互仅限于应用沙盒目录。在安装新应用期间,安装程序会为沙盒目录中的应用创建多个容器目录。每个容器目录都有特定的角色,捆绑容器目录保存应用的捆绑包;而数据容器目录同时保存应用和用户的数据;数据容器目录进一步划分为多个子目录,应用可用于排序和组织其数据;该应用还可以请求在运行时访问其他容器目录。

意味着在没有用户授权的情况下,iOS应用程序仅能在自己的沙盒读写文件,不可访问其他沙盒,不可进行相互通信。在访问其他沙盒内容时,需要发出请求,通过权限检测,只有满足条件才可完成访问。

3.2.2 Android虚拟机运行机制

Android采用虚拟机运行机制,Dalvik是Google公司自研设计用于Android平台的Java虚拟机,是面向Linux、为嵌入式操作系统设计的虚拟机,主要负责完成对象生命周期管理、堆栈管理、线程管理、安全和异常管理、垃圾回收等功能。Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行,有的Android应用的线程对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制。

3.3 后台机制

3.3.1 iOS系统“伪后台”

随着iOS 4的发布,iOS开始拥有多任务功能,按Home键后,程序转入后台以墓碑的形式保持在内存中,用户可快速恢复。iOS多任务界面列出的应用仅仅是近期使用过的,而并非真正在后台运行的程序。仅有特殊应用可以在后台真正运行,比如音频播放、VoIP类、newsstand、位置服务等。

iOS 7诞生,标志“伪后台”到“智能后台”的转变。手机锁屏后,后台应用很快被暂停,再次唤醒后,应用继续运行。Background Fetch使得应用在后台就可直接获得信息;Silent Remote Notifications使得当应用程序接收到消息后,即刻唤醒相应应用程序,使其后台获取信息,而后通知用户;Background Transfer service使得所有下载任务交给独立进程完成,下载可持续进行。

3.3.2 Android系统“真后台”

Android系统手机采用“真后台”,即同熟悉的Windows操作系统相似,将应用保留在RAM中,即Android所有软件在硬件条件许可的情况下,可以实现后台甚至多窗口模式。Android上的应用都是带有独立虚拟机的,即每打开一个应用对应会打开一个独立的虚拟机,每个应用具有自己的进程和内存空间,但需要更多的内存。

3.4 指令权限优先级

3.4.1 iOS系统ui指令

iOS系统中ui指令具有最高权限,ui渲染采用实时优先级IOS系统响应顺序依次为:Touch、Media、Service、Core架构[],即首先响应最顶层的Cocoa Touch,优先处理与用户相关的iOS设备上的交互操作,即用户触摸屏幕后iOS系统会首先激活屏幕,然后才是媒体、服务以及架构。

3.4.2 Android系统数据处理指令

Android系统的优先级响应层级则是Application、Framework、Library、Kernal架构,其最高权限指令为数据处理指令,而其ui渲染遵循传统电脑的主线程普通优先级,触摸屏幕后Android系统会首先激活应用、框架,然后才是屏幕,最后是核心架构。

3.5 开发

3.5.1 Objective-C

iOS编程语言为Objective-C,具有专一性强、效率高的特点;同时iOS系统优化较好,gcc编译出的代码被苹果专为iOS架构优化到了极致,无需虚拟机,执行效率较高[]。iOS产品的封闭性,底层硬件稳定、单一,使得其应用程序得以拥有极高的硬件利用率,保证了应用开发本身与硬件产品之间的完美结合。

3.5.2 Java

Android编程语言是Java,通用性强,但效率低;同时Android系统需要虚拟机执行,效率低。Android生态硬件变化相对频繁,开发成本较高,收益慢;同时为了兼顾通用,不得不向软硬件协同开发设计低头。

3.6 总结

iOS操作系统诞生、成长在闭源的“自家园地”,其具备较强技术能力,积累大量工程经验,使得其相较于开源的Android生态毫不逊色。不管是“沙盒机制”、“伪后台”,还是系统架构的响应优先级,都能体现Apple公司对于用户体验的各自细节处理以及其和硬件系统的完美协同配合的设计;具备自研处理器的技术基础,使得其后续的操作系统开发更具有专一性,可以通过Objective-C进行编程设计,gcc编译使得代码和底层硬件配合到极致,也深刻体现软硬件协同开发设计的理念,使得其程序直接搭建和运行在硬件之上,而非利用虚拟机。然而“闭源”也一定程度影响了iOS系统的发展,部分功能也饱受用户调侃、指责;过于注重“安全”,也能招来用户不满。

相比之下,Android系统的“开源”生态,导致其软件开发并非趋于专一性,而是兼顾了通用性,导致了效率的下降,同时硬件系统的种类繁多、更新频繁也一定程度影响了软件开发,Android系统更像是跑在虚拟机上。然而特点都是“双刃剑”,“开源”的生态也为Android系统的成长带来了无限生机,各种应用程序如雨后春笋,Android系统应用层得到了极大的提升,硬件种类多也为其提供了更多适配的硬件选择,日趋壮大的各大厂商也在健全安全机制、功耗机制等,功能全面性是iOS无法匹敌的。

打个比方,iOS系统自搭自建了完整的家族家园,Android系统拉帮结派各个家族共同完成家园建设。自搭自建自然使得家园更适合iOS系统家族中的每一个成员,同处于一个家族无需考虑利益你我之分,处理器更适合操作系统,操作系统更适合应用程序,但是自己搭建难免累,考虑不周。Android系统共同建设就需要考虑每个家族的利益关系,不得不建设一些通用设备,建立法律规则,使得各个家族在对其他家族影响最小的情况下,和平发展,反之而言,建设能得到众多人的智慧。

iOS系统和Android系统能够占据市场的半壁江山,证明其生机活力和系统优势;没有出现垄断的出现,也证明二者都存在弊端。iOS系统和Android系统都在互相学习,互相借鉴,在日后一定会趋于相似,因为优秀的成果都具有相似性。

4用  户

最终呈现到用户面前的,不是冷冰冰的处理器,也不是一堆操作系统架构,更不是iOS系统或者Android系统,而是一个完整的嵌入式系统,一个能够满足人们对于日常生活的特定需要,具有对功能、性能、可靠性、成本、体积、功耗有严格约束的专用系统。故从用户直观体验角度切入,包括系统应用、价格、安全管理、系统更新对比iOS系统和Android系统。

4.1 系统应用

应用数量是用户选择手机系统的重要原因之一。过去iOS的App Store应用数量一直很高,直到2013年4月开始被Android的Google Play超越。对于开发者而言,iOS比Android所得利益更多,因此更多开发者将iOS作为新应用发布的选择。但随着Android市场份额的增长,且由于Google Play相较于App Store的审核较为宽松,因此有不少App的开发商再后来都将Android平台当作首发平台。

关于系统应用对比,Android与iOS分别在数量与质量方面占据一定优势,处于一种良性竞争并驾齐驱的状态。

4.2 价格

iPhone手机的价格毫无疑问都是当季手机的最高价格,这也限制了一些个客户的购买欲望。人们更希望花最少的价钱买到最合适的产品,iPhone 的售价让一部分客户感觉不合算,进而去选择价格较便宜的 Android 机型。

目前,新款的iPhone 11起价5499元,iPhone 11 Pro起价8699元,iPhone 11 Pro Max起价9599元。iPhone XR的价格则是4799元,而想要卖到更便宜的,就是iPhone 8的3499元了。显然一部分消费者认为,花费较低价钱购买几年前的iPhone机型,不如选择种类多样、价格相对较低的Android手机。现在三星、联想和华为等Android手机厂商,也在推出更多低价的手机类型。

在手机价格方面,Android 更吸引消费者。

4.3 安全管理

由于Android系统的开放性和普及性,一些病毒和恶意程序对其的攻击也随之而来。Google坚持危险的恶意软件其实是非常罕见的,而芬安全曾进行的一项调查显示,只有0.5%的Android恶意软件是来自Google Play商店。说明用户们只在Google Play商店下载App,手机系统就不会有很多的安全问题。

Android系统的更新问题同样是大多数病毒攻击的方面,由于最新版本系统的普及率并不高,还有很大一部分用户还在使用比较低的系统版本,病毒就会从这些版本的漏洞攻击。

而iOS在硬件和软件的方面都使用了许多安全功能,采用安全启动、Touch ID和Face ID、位址空间组态、非执行记忆体、加密钥匙圈、应用程式保安、网路保安、双重身份认证等功能,可以更好的保护普通消费者的安全。

对比而言,iOS还是目前最安全的移动操作系统。

4.4 系统更新

Android P的首个开发者预览版本在2018年3月7日发行并提供下载;正式版本与2018年8月6日发行。但根据2019年5月Android系统各版本系统市占率统计显示,此版本占有率仅为10.4%,目前Android系统仍是由“Android Lollipop”、“Android Marshmallow”、“Android Nougat”、“Android Oreo”几个版本占主导,系统市占率相加高达78%。过去四年中引入的所有设备中,有55%使用iOS13。目前,几乎50%的iOS设备都运行最新版本。相对而言,Android设备运行最新的Android 9.0 Pie,占总数的比重就很少了,旧系统的使用者仍占大多数。

如果客户侧重的是系统更新方面的追求,那么应该选择iOS。

4.5 总结

从用户层面考虑,即从最表象的层面,以Android系统为载体的手机厂商众多,也代表着用户有更多的选择空间,可以根据自己的喜好程度、经济实力等多角度进行手机的选择。但也因此,没有集中、核心的系统更新机制,不同手机厂商负责不同机型的更新,使得Android系统更新频率难以实时更进,同时也带来安全性的一些问题。iOS相比而言,作为闭源的厂商,功能全面性不及Android系统,但安全性能等其他方面相对有优势,且价格昂贵,社会存在不良的消费行为,也推助iOS系统的销售。

5结  论

纵观,从最底层、最核心的处理器,再到复杂的嵌入式操作系统,最后上升到应用层面,与用户交互,两大阵营iOS系统和Android系统从最底层的硬件理念就开始产生分歧和区别,由此在后续的操作系统、应用层面逐渐产生鲜明差别。这离不开嵌入式系统的设计理念,讲究软硬件协同统一,也离不开嵌入式系统的基本核心,即以应用为中心,以计算机技术为基础,软硬件可配置,对功能、性能、可靠性、成本、体积、功耗有严格约束的专用系统。

Android系统的众多芯片供应选择,不得不让芯片、手机厂商考虑通用性、兼容性问题,由此造成了Android操作系统市场百花齐放的盛况;iOS系统自家自研,无需考虑过多兼容的因素,仅和自家产品适配,由此也使得iOS系统同硬件配合优于Android系统。然而,这并不能决定Android和iOS系统谁优谁劣,也不是判断两者高低的依据。iOS封闭的研发结构使得其具有其他系统无法达到的安全程度,同时也使其功能丰富性不及Android系统。Android开源的开发生态,使得其功能得到拓展和丰富,手机种类丰富,可选择性高,但同时也带来了一些安全方面的隐患。

“英雄所见略同”,iOS和Android系统将来的发展在某种程度上会趋于一致,趋于相似,互相借鉴、互相学习。iPhone在不断学习、借鉴Android手机厂商的特色,取符合其产品理念的并入iOS;Android也在做同样的事情。

从iPhone打入中国市场起,iOS系统就受到国人追捧。的确,当年在国内手机市场毫无还手之力时,iPhone的出现刷新了国人对智能手机的认知,在当时的确是跨时代的产品,这不仅对于中国而言,更是对于世界而言。但时代在更迭,中国的技术在发展,核心技术的掌握越来越多,对iOS系统的盲目追捧应该停下了,iOS系统具备长期的工程经验积累,现在仍然处于较为领先的地位,但我们的态度代之的应该是“取其精华、去其糟粕”。国内手机厂商也逐渐能列入世界前列,有自己的系统特色和理念。

参考文献

[1]郭明礼. 基于iOS平台的新闻稿件采编发平台的设计与实现[D].北京邮电大学,2019.

[2]胡清准. 基于Android的智能停车引导系统研究与实现[D].南京邮电大学,2019.

[3]景予. 基于Android的变电站运维管理系统的设计与实现[D].电子科技大学,2019.

[4]https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html(苹果官方文档)

[5]https://baike.baidu.com/item/Dalvik/1996430?fr=aladdin(百度百科)

[6]https://blog.csdn.net/wujianli8/article/details/43964341(CSDN)

[7]https://blog.csdn.net/Lu_Ca/article/details/75309153?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-13&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-13(CSDN)

[8]李晓然.智能手机操作系统——以Android与iOS对比[J].经济师,2020(02):222-224+226.

Ray

《嵌入式系统》研究课题报告

如果你喜欢这类研究课题报告,留下你的奇怪问题,我会选择一个最受欢迎的问题作为下次的主题┗|`O′|┛ 嗷~~

(应该没人会这么看完这些内容吧///卑微


版权声明:本文为weixin_39759155原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。