翟高粵
摘 要:本文主要對(duì)Google Android、Apple iOS這兩種最常用的移動(dòng)設(shè)備操作系統(tǒng)進(jìn)行比較研究。首先介紹這兩種操作系統(tǒng)最重要的特性,然后討論了這些操作系統(tǒng)的共同特點(diǎn),并分析了它們的一些缺點(diǎn)。
關(guān)鍵詞:Google Android;Apple iOS;手機(jī)操作系統(tǒng);軟件平臺(tái)
操作系統(tǒng)是通過(guò)某一種程序語(yǔ)言編寫(xiě)的軟件系統(tǒng),它通常充當(dāng)計(jì)算機(jī)用戶(hù)和計(jì)算機(jī)硬件之間的通訊橋梁。本文將使用縮寫(xiě)OS表示操作系統(tǒng)的全稱(chēng)。操作系統(tǒng)有以下幾個(gè)主要的功能和目標(biāo):首先,它必須能夠執(zhí)行用戶(hù)程序并為用戶(hù)排除故障提供方便;其次,它能使計(jì)算機(jī)系統(tǒng)易于使用;第三,它能有效地利用計(jì)算系統(tǒng)的硬件為用戶(hù)進(jìn)行服務(wù)。
操作系統(tǒng)能夠?yàn)橛脩?hù)和開(kāi)發(fā)人員提供服務(wù),使人類(lèi)對(duì)計(jì)算機(jī)的操作成為可能,同時(shí)不需要熟悉了解難以運(yùn)行的底層硬件控制。另外,操作系統(tǒng)還提供相對(duì)統(tǒng)一的接口來(lái)訪(fǎng)問(wèn)計(jì)算機(jī)與之交互的各種設(shè)備,從輸入/輸出設(shè)備,如打印機(jī)或數(shù)碼相機(jī),到有線(xiàn)或無(wú)線(xiàn)網(wǎng)絡(luò)確保計(jì)算機(jī)間通信的組件。操作系統(tǒng)允許用戶(hù)創(chuàng)建、管理和組織不同類(lèi)型的文件。大多數(shù)現(xiàn)代操作系統(tǒng)提供圖形界面(GUI-圖形用戶(hù)界面),以確保用戶(hù)相對(duì)容易使用操作系統(tǒng)。
一、手機(jī)操作系統(tǒng)簡(jiǎn)介
手機(jī)操作系統(tǒng)通常提供一組API函數(shù)可供開(kāi)發(fā)者進(jìn)行手機(jī)程序開(kāi)發(fā),亦稱(chēng)為手機(jī)系統(tǒng)API函數(shù)調(diào)用。目前,在手機(jī)行業(yè)中采用了安全性更高的操作系統(tǒng)。另外,手機(jī)的操作系統(tǒng)中集成了多線(xiàn)程和多核架構(gòu)。用于移動(dòng)設(shè)備的現(xiàn)代操作系統(tǒng)支持多種媒體格式:音頻、視頻、圖像,并可能使用攝像機(jī)、觸摸屏、GPS、加速度傳感器、加速3D圖形和其他類(lèi)型的傳感器。
系統(tǒng)API調(diào)用在過(guò)去兩年中發(fā)生了巨大的變化,這種變化可能要?dú)w功于蘋(píng)果和谷歌這兩家公司,它們是真正的創(chuàng)新力量。隨著蘋(píng)果公司推出iPhone,市場(chǎng)上出現(xiàn)了一種新的手機(jī)系統(tǒng)模式,即iOS。谷歌緊隨其后,推出了Android操作系統(tǒng),這兩種手機(jī)操作系統(tǒng)很快被應(yīng)用程序開(kāi)發(fā)人員和用戶(hù)所采用。這使得我們對(duì)操作系統(tǒng)的看法發(fā)生了重大變化。
二、Android操作系統(tǒng)
Android操作系統(tǒng)及其視頻通話(huà)服務(wù)顯示了這個(gè)操作系統(tǒng)與其他操作系統(tǒng)的不同之處:它基于Linux架構(gòu),可以被認(rèn)為是嵌入式Linux的一個(gè)變體??梢哉f(shuō),Android操作系統(tǒng)是出自谷歌的領(lǐng)先移動(dòng)平臺(tái)的優(yōu)秀產(chǎn)品,它不但帶來(lái)了豐富的功能,優(yōu)秀的體驗(yàn)、驚人的運(yùn)行速度,性能方面也是領(lǐng)先于業(yè)界。
Android是手機(jī)和其他手持式設(shè)備的平臺(tái)和操作系統(tǒng)。Android操作系統(tǒng)是專(zhuān)門(mén)為觸摸屏移動(dòng)設(shè)備設(shè)計(jì)的,但也適用于電視(TV Android)、汽車(chē)(Android Auto)和手表(Android Wear)。可以說(shuō),運(yùn)行Android操作系統(tǒng)的硬件產(chǎn)品有很多。這個(gè)操作系統(tǒng)可以把移動(dòng)設(shè)備變成袖珍計(jì)算器大小的個(gè)人電腦。
Android操作系統(tǒng)是一個(gè)開(kāi)源軟件,這意味著任何用戶(hù)都可以對(duì)操作系統(tǒng)進(jìn)行改進(jìn),因此人們不僅可以從谷歌開(kāi)發(fā)人員的專(zhuān)有技術(shù)中受益,也可以從第三方開(kāi)發(fā)人員的專(zhuān)有技術(shù)中受益。Google開(kāi)放了整個(gè)源代碼(包括網(wǎng)絡(luò)和電話(huà)支持),因此生產(chǎn)者可以自由地添加擴(kuò)展,而無(wú)需將其提供給開(kāi)源社區(qū)。Android因庫(kù)和API的某些部分不是完全開(kāi)源而受到批評(píng)。
Android移動(dòng)操作系統(tǒng)5.1版本是一個(gè)被稱(chēng)為“棒棒糖Android”(“Android L”)的操作系統(tǒng),由谷歌開(kāi)發(fā)并于2014年底發(fā)布。從1.0開(kāi)始到5.0版本,Android平臺(tái)使用了一個(gè)名為Dalvik的虛擬機(jī)作為JIT (just-in-time process)來(lái)編譯從Java字節(jié)碼中獲得的代碼。Dalvik在每次啟動(dòng)應(yīng)用程序時(shí)都會(huì)對(duì)其進(jìn)行編譯。Linux作為Android體系的底層,但它只是這個(gè)體系結(jié)構(gòu)的一部分,并且處于最底層。我們不認(rèn)為Android操作系統(tǒng)是Linux操作系統(tǒng),因此大多數(shù)開(kāi)發(fā)人員沒(méi)有這個(gè)級(jí)別的訪(fǎng)問(wèn)權(quán)限。從開(kāi)發(fā)者的角度來(lái)看,Android操作系統(tǒng)有一個(gè)基于Java的Kinux內(nèi)核(帶有Eclipse插件),它有自己的谷歌虛擬機(jī)Dalvik,但用戶(hù)無(wú)法使用Linux的特性。在Android的應(yīng)用程序框架域和應(yīng)用程序域都是用Java語(yǔ)言編寫(xiě)的。應(yīng)用程序開(kāi)發(fā)人員僅限于該體系結(jié)構(gòu)的上層,而設(shè)備制造商必須在該體系結(jié)構(gòu)的所有級(jí)別上優(yōu)化和執(zhí)行其代碼。
Android Runtime (ART)由移動(dòng)Android操作系統(tǒng)使用,最早出現(xiàn)在Android 4.4中。在Android 5.0中,Dalvik虛擬機(jī)被完全取代。ART取代了Dalvik虛擬機(jī),Dalvik虛擬機(jī)在每次應(yīng)用程序啟動(dòng)時(shí)都將應(yīng)用程序字節(jié)碼轉(zhuǎn)換為本機(jī)指令。該技術(shù)消除了jit相關(guān)的處理技術(shù),以提高系統(tǒng)性能并優(yōu)化電池使用。盡管安裝可能需要更長(zhǎng)的時(shí)間,并且需要為編譯的字節(jié)碼提供更多的存儲(chǔ)空間,但是在運(yùn)行應(yīng)用程序時(shí),它減少了資源成本和CPU使用,因此延長(zhǎng)了電池壽命。其他優(yōu)點(diǎn)包括:改進(jìn)垃圾收集器性能、優(yōu)化應(yīng)用程序調(diào)試和性能測(cè)量。因此,可以認(rèn)為,在降低能耗的同時(shí),總體效率得到了提高。另外,為了保持與以前的應(yīng)用程序版本的兼容性,ART對(duì)生成的代碼使用與Dalvik虛擬機(jī)相同的字節(jié)碼格式。ART支持32位或64位跨平臺(tái),支持x86、ARM、MIPS和MIPS64、x86-64。
三、iOS操作系統(tǒng)
iOS操作系統(tǒng)(原名iPhone OS)是蘋(píng)果公司為其生產(chǎn)的移動(dòng)設(shè)備開(kāi)發(fā)的移動(dòng)操作系統(tǒng)。這個(gè)操作系統(tǒng)最初是為iPhone開(kāi)發(fā)的,后來(lái)被擴(kuò)展到其他蘋(píng)果設(shè)備上,如iPod touch (MP3播放器)、iPad、Apple TV(機(jī)頂盒類(lèi)型的設(shè)備)。與競(jìng)爭(zhēng)廠(chǎng)商生產(chǎn)的其他設(shè)備和系統(tǒng)相比,這些設(shè)備要貴得多,但性能非常穩(wěn)定。
iOS是一個(gè)類(lèi)unix操作系統(tǒng)。iOS操作系統(tǒng)的主要優(yōu)勢(shì)之一是蘋(píng)果允許老款平板電腦更新操作系統(tǒng),但這種支持正在減少。蘋(píng)果公司通過(guò)OTA 接口提供iOS操作系統(tǒng)的更新。但由于產(chǎn)品政策原因,iOS操作系統(tǒng)不支持Adobe美國(guó)公司的Flash多媒體應(yīng)用程序。
App Store是蘋(píng)果公司為iOS操作系統(tǒng)開(kāi)發(fā)和維護(hù)的移動(dòng)應(yīng)用程序數(shù)字分銷(xiāo)平臺(tái)。通過(guò)App Store,用戶(hù)可以瀏覽和下載使用蘋(píng)果iOS操作系統(tǒng)的SDK開(kāi)發(fā)的應(yīng)用程序。
應(yīng)用程序可以直接下載到帶有iOS操作系統(tǒng)的設(shè)備上,或者下載到個(gè)人電腦上。App Store中有許多高質(zhì)量的應(yīng)用,大多數(shù)都物有所值。截止2023年2月1日,App Store應(yīng)用數(shù)量超過(guò)800萬(wàn),下載量超過(guò)2000億次。
從系統(tǒng)的功能上看,iOS操作系統(tǒng)是iphone移動(dòng)設(shè)備在世界市場(chǎng)上成功的因素之一。iOS的主要競(jìng)爭(zhēng)對(duì)手是Google的Android操作系統(tǒng)。iOS操作系統(tǒng)不同于Android操作系統(tǒng),主要是因?yàn)閮烧叩牟僮飨到y(tǒng)和最終產(chǎn)品由同一家公司維護(hù)和開(kāi)發(fā)。你無(wú)法在Android的機(jī)器上安裝并運(yùn)行iOS操作系統(tǒng),因?yàn)閕OS的運(yùn)行是針對(duì)特定的硬件架構(gòu)設(shè)計(jì)的。目前市場(chǎng)上Android設(shè)備要運(yùn)行iOS,只能通過(guò)ios操作系統(tǒng)的模擬器,但其運(yùn)行功能有限制。iOS有四個(gè)抽象層次:操作系統(tǒng)內(nèi)核、核心服務(wù)層、媒體層和用戶(hù)界面。核心操作系統(tǒng)層包含內(nèi)核系統(tǒng)、文件管理器、安全系統(tǒng)和一系列設(shè)備驅(qū)動(dòng)程序等。核心操作系統(tǒng)是最接近UNIX多任務(wù)內(nèi)核的硬件。這里是用C語(yǔ)言編寫(xiě)的api,而不是面向?qū)ο笳Z(yǔ)言編寫(xiě)的。iOS操作系統(tǒng)的內(nèi)核被稱(chēng)為XNU。
核心服務(wù)層位于操作系統(tǒng)的基礎(chǔ)層之上,在這層我們有面向?qū)ο蟮腶pi。這一層是面向?qū)ο蟮模峁┝嘶镜墓δ?,也覆蓋了核心操作系統(tǒng)。核心服務(wù)提供了基本的服務(wù),如線(xiàn)路處理、集合管理、網(wǎng)絡(luò)交互、聯(lián)系人管理和選項(xiàng)管理。這些服務(wù)提供了使用設(shè)備硬件功能(GPS、指南針、加速度計(jì)或陀螺儀)的可能性。
Cocoa Touch是iOS操作系統(tǒng)的用戶(hù)界面,開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用程序時(shí)90%的交互都是通過(guò)這個(gè)界面進(jìn)行的。這個(gè)接口是完全面向?qū)ο蟆ocoa Touch包含了一個(gè)框架,可以讓我們?cè)趇OS系統(tǒng)上編寫(xiě)應(yīng)用程序,這些框架定義了應(yīng)用程序的各個(gè)方面。它們還提供了基本的應(yīng)用基礎(chǔ)設(shè)施和對(duì)多任務(wù)、觸摸、通知等的支持。雖然iOS OS的Cocoa Touch界面與Mac OS X的Cocoa Touch界面相似,但兩者之間存在一些本質(zhì)上的區(qū)別。使用的主要開(kāi)發(fā)語(yǔ)言是Objective-C或Swift。Swift是一種編譯式編程語(yǔ)言,由蘋(píng)果公司于2014年為iOS操作系統(tǒng)創(chuàng)建并推出。
Swift預(yù)計(jì)將與Cocoa和Cocoa Touch框架以及用Objective-C為蘋(píng)果產(chǎn)品編寫(xiě)的現(xiàn)有代碼進(jìn)行交互。Swift被設(shè)計(jì)成比Objective-C更能抵抗錯(cuò)誤代碼,也更簡(jiǎn)潔。開(kāi)發(fā)者從應(yīng)用銷(xiāo)售中獲得70%,30%歸蘋(píng)果。App Store是世界上最大的移動(dòng)操作系統(tǒng)應(yīng)用程序在線(xiàn)商店之一,僅用于蘋(píng)果設(shè)備。如果是iOS操作系統(tǒng),則不需要使用虛擬機(jī),因?yàn)樘O(píng)果控制著整個(gè)環(huán)境:芯片應(yīng)用程序和終端設(shè)備。
四、結(jié)語(yǔ)
市場(chǎng)上有兩種主要的智能手機(jī)操作系統(tǒng):iOS和 Android。這兩種操作系統(tǒng)都提供高級(jí)的多任務(wù)處理功能,但操作系統(tǒng)有所不同。iOS和Android操作系統(tǒng)是兩個(gè)成熟的操作系統(tǒng),每一種都借鑒了其他許多功能,因此很難說(shuō)哪一種更好。安卓操作系統(tǒng)擁有大部分市場(chǎng)份額,全球約70%,而蘋(píng)果擁有最大的利潤(rùn)份額。因此,蘋(píng)果的操作系統(tǒng)是Android vs iOS 盈利鏈中的第一個(gè)。iOs不同于Android主要是因?yàn)椴僮飨到y(tǒng)和最終產(chǎn)品都是由硬件上的操作系統(tǒng)生產(chǎn)和控制的。
參考文獻(xiàn):
[1]劉凡馨等. Android移動(dòng)應(yīng)用開(kāi)發(fā)基礎(chǔ)教程 [M]. 人民郵電出版社,2018.
[2]胡敏等. Android移動(dòng)應(yīng)用設(shè)計(jì)與開(kāi)發(fā)[M],人民郵電出版社, 2021.
[3] 諾伊堡. iOS程序設(shè)計(jì)[M]. 機(jī)械工業(yè)出版社,2013.