翟高粤
摘 要:本文主要对Google Android、Apple iOS这两种最常用的移动设备操作系统进行比较研究。首先介绍这两种操作系统最重要的特性,然后讨论了这些操作系统的共同特点,并分析了它们的一些缺点。
关键词:Google Android;Apple iOS;手机操作系统;软件平台
操作系统是通过某一种程序语言编写的软件系统,它通常充当计算机用户和计算机硬件之间的通讯桥梁。本文将使用缩写OS表示操作系统的全称。操作系统有以下几个主要的功能和目标:首先,它必须能够执行用户程序并为用户排除故障提供方便;其次,它能使计算机系统易于使用;第三,它能有效地利用计算系统的硬件为用户进行服务。
操作系统能够为用户和开发人员提供服务,使人类对计算机的操作成为可能,同时不需要熟悉了解难以运行的底层硬件控制。另外,操作系统还提供相对统一的接口来访问计算机与之交互的各种设备,从输入/输出设备,如打印机或数码相机,到有线或无线网络确保计算机间通信的组件。操作系统允许用户创建、管理和组织不同类型的文件。大多数现代操作系统提供图形界面(GUI-图形用户界面),以确保用户相对容易使用操作系统。
一、手机操作系统简介
手机操作系统通常提供一组API函数可供开发者进行手机程序开发,亦称为手机系统API函数调用。目前,在手机行业中采用了安全性更高的操作系统。另外,手机的操作系统中集成了多线程和多核架构。用于移动设备的现代操作系统支持多种媒体格式:音频、视频、图像,并可能使用摄像机、触摸屏、GPS、加速度传感器、加速3D图形和其他类型的传感器。
系统API调用在过去两年中发生了巨大的变化,这种变化可能要归功于苹果和谷歌这两家公司,它们是真正的创新力量。随着苹果公司推出iPhone,市場上出现了一种新的手机系统模式,即iOS。谷歌紧随其后,推出了Android操作系统,这两种手机操作系统很快被应用程序开发人员和用户所采用。这使得我们对操作系统的看法发生了重大变化。
二、Android操作系统
Android操作系统及其视频通话服务显示了这个操作系统与其他操作系统的不同之处:它基于Linux架构,可以被认为是嵌入式Linux的一个变体。可以说,Android操作系统是出自谷歌的领先移动平台的优秀产品,它不但带来了丰富的功能,优秀的体验、惊人的运行速度,性能方面也是领先于业界。
Android是手机和其他手持式设备的平台和操作系统。Android操作系统是专门为触摸屏移动设备设计的,但也适用于电视(TV Android)、汽车(Android Auto)和手表(Android Wear)。可以说,运行Android操作系统的硬件产品有很多。这个操作系统可以把移动设备变成袖珍计算器大小的个人电脑。
Android操作系统是一个开源软件,这意味着任何用户都可以对操作系统进行改进,因此人们不仅可以从谷歌开发人员的专有技术中受益,也可以从第三方开发人员的专有技术中受益。Google开放了整个源代码(包括网络和电话支持),因此生产者可以自由地添加扩展,而无需将其提供给开源社区。Android因库和API的某些部分不是完全开源而受到批评。
Android移动操作系统5.1版本是一个被称为“棒棒糖Android”(“Android L”)的操作系统,由谷歌开发并于2014年底发布。从1.0开始到5.0版本,Android平台使用了一个名为Dalvik的虚拟机作为JIT (just-in-time process)来编译从Java字节码中获得的代码。Dalvik在每次启动应用程序时都会对其进行编译。Linux作为Android体系的底层,但它只是这个体系结构的一部分,并且处于最底层。我们不认为Android操作系统是Linux操作系统,因此大多数开发人员没有这个级别的访问权限。从开发者的角度来看,Android操作系统有一个基于Java的Kinux内核(带有Eclipse插件),它有自己的谷歌虚拟机Dalvik,但用户无法使用Linux的特性。在Android的应用程序框架域和应用程序域都是用Java语言编写的。应用程序开发人员仅限于该体系结构的上层,而设备制造商必须在该体系结构的所有级别上优化和执行其代码。
Android Runtime (ART)由移动Android操作系统使用,最早出现在Android 4.4中。在Android 5.0中,Dalvik虚拟机被完全取代。ART取代了Dalvik虚拟机,Dalvik虚拟机在每次应用程序启动时都将应用程序字节码转换为本机指令。该技术消除了jit相关的处理技术,以提高系统性能并优化电池使用。尽管安装可能需要更长的时间,并且需要为编译的字节码提供更多的存储空间,但是在运行应用程序时,它减少了资源成本和CPU使用,因此延长了电池寿命。其他优点包括:改进垃圾收集器性能、优化应用程序调试和性能测量。因此,可以认为,在降低能耗的同时,总体效率得到了提高。另外,为了保持与以前的应用程序版本的兼容性,ART对生成的代码使用与Dalvik虚拟机相同的字节码格式。ART支持32位或64位跨平台,支持x86、ARM、MIPS和MIPS64、x86-64。
三、iOS操作系统
iOS操作系统(原名iPhone OS)是苹果公司为其生产的移动设备开发的移动操作系统。这个操作系统最初是为iPhone开发的,后来被扩展到其他苹果设备上,如iPod touch (MP3播放器)、iPad、Apple TV(机顶盒类型的设备)。与竞争厂商生产的其他设备和系统相比,这些设备要贵得多,但性能非常稳定。
iOS是一个类unix操作系统。iOS操作系统的主要优势之一是苹果允许老款平板电脑更新操作系统,但这种支持正在减少。苹果公司通过OTA 接口提供iOS操作系统的更新。但由于产品政策原因,iOS操作系统不支持Adobe美国公司的Flash多媒体应用程序。
App Store是苹果公司为iOS操作系统开发和维护的移动应用程序数字分销平台。通过App Store,用户可以浏览和下载使用苹果iOS操作系统的SDK开发的应用程序。
应用程序可以直接下载到带有iOS操作系统的设备上,或者下载到个人电脑上。App Store中有许多高质量的应用,大多数都物有所值。截止2023年2月1日,App Store应用数量超过800万,下载量超过2000亿次。
从系统的功能上看,iOS操作系统是iphone移动设备在世界市场上成功的因素之一。iOS的主要竞争对手是Google的Android操作系统。iOS操作系统不同于Android操作系统,主要是因为两者的操作系统和最终产品由同一家公司维护和开发。你无法在Android的机器上安装并运行iOS操作系统,因为iOS的运行是针对特定的硬件架构设计的。目前市场上Android设备要运行iOS,只能通过ios操作系统的模拟器,但其运行功能有限制。iOS有四个抽象层次:操作系统内核、核心服务层、媒体层和用户界面。核心操作系统层包含内核系统、文件管理器、安全系统和一系列设备驱动程序等。核心操作系统是最接近UNIX多任务内核的硬件。这里是用C语言编写的api,而不是面向对象语言编写的。iOS操作系统的内核被称为XNU。
核心服务层位于操作系统的基础层之上,在这层我们有面向对象的api。这一层是面向对象的,提供了基本的功能,也覆盖了核心操作系统。核心服务提供了基本的服务,如线路处理、集合管理、网络交互、联系人管理和选项管理。这些服务提供了使用设备硬件功能(GPS、指南针、加速度计或陀螺仪)的可能性。
Cocoa Touch是iOS操作系统的用户界面,开发者在开发应用程序时90%的交互都是通过这个界面进行的。这个接口是完全面向对象。Cocoa Touch包含了一个框架,可以让我们在iOS系统上编写应用程序,这些框架定义了应用程序的各个方面。它们还提供了基本的应用基础设施和对多任务、触摸、通知等的支持。虽然iOS OS的Cocoa Touch界面与Mac OS X的Cocoa Touch界面相似,但两者之间存在一些本质上的区别。使用的主要开发语言是Objective-C或Swift。Swift是一种编译式编程语言,由苹果公司于2014年为iOS操作系统创建并推出。
Swift预计将与Cocoa和Cocoa Touch框架以及用Objective-C为苹果产品编写的现有代码进行交互。Swift被設计成比Objective-C更能抵抗错误代码,也更简洁。开发者从应用销售中获得70%,30%归苹果。App Store是世界上最大的移动操作系统应用程序在线商店之一,仅用于苹果设备。如果是iOS操作系统,则不需要使用虚拟机,因为苹果控制着整个环境:芯片应用程序和终端设备。
四、结语
市场上有两种主要的智能手机操作系统:iOS和 Android。这两种操作系统都提供高级的多任务处理功能,但操作系统有所不同。iOS和Android操作系统是两个成熟的操作系统,每一种都借鉴了其他许多功能,因此很难说哪一种更好。安卓操作系统拥有大部分市场份额,全球约70%,而苹果拥有最大的利润份额。因此,苹果的操作系统是Android vs iOS 盈利链中的第一个。iOs不同于Android主要是因为操作系统和最终产品都是由硬件上的操作系统生产和控制的。
参考文献:
[1]刘凡馨等. Android移动应用开发基础教程 [M]. 人民邮电出版社,2018.
[2]胡敏等. Android移动应用设计与开发[M],人民邮电出版社, 2021.
[3] 诺伊堡. iOS程序设计[M]. 机械工业出版社,2013.