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