3G手機(jī)操作系統(tǒng)的研究與分析
1 引言
隨著移動多媒體時代的到來和3G無線通信的興起,數(shù)字廣播的普及。再加上各種新一代高級視頻壓縮算法的采用,手機(jī)已從簡單的通話工具逐漸向智能化發(fā)展。借助其操作系統(tǒng)和豐富的應(yīng)用軟件。智能手機(jī)便成了一臺微型計算機(jī)。而作為其核心的手機(jī)操作系統(tǒng)也成為當(dāng)前討論和研究的熱點(diǎn)。智能手機(jī)除了具備普通手機(jī)的全部功能外,還具備了PDA(個人數(shù)碼助理)的大部分功能,特別是可以建立個人信息管理系統(tǒng)。具備基于無線數(shù)據(jù)通信的瀏覽器和電子郵件功能。并且在這個開放性的平臺上可以安裝更多的應(yīng)用程序。從而可以使智能手機(jī)的功能得到無限的擴(kuò)充。判定一款手機(jī)是否為智能手機(jī)。主要看其是否是一款具有操作系統(tǒng)的手機(jī)。
目前在智能手機(jī)操作系統(tǒng)領(lǐng)域中還沒有出現(xiàn)一個像微軟操作系統(tǒng)那樣能在智能手機(jī)中占據(jù)壟斷地位的操作系統(tǒng)。仍是多種操作系統(tǒng)并存和競爭的局面。
目前智能手機(jī)采用的操作系統(tǒng)主要有:微軟推出的Windows CE操作系統(tǒng)(OS)、以Nokia為主要發(fā)起廠商的Symbian操作系統(tǒng)、Palm操作系統(tǒng)、Linux操作系統(tǒng)、GoogleAndroid手機(jī)平臺以及蘋果的iPhONe操作系統(tǒng)等。
2 3G智能手機(jī)的主要特色業(yè)務(wù)
3G業(yè)務(wù)根據(jù)不同的層次可以分為若干不同的種類。按照面向用戶需求的業(yè)務(wù)來劃分,大致可以分為:通信類業(yè)務(wù)、信息類業(yè)務(wù)、娛樂類業(yè)務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)、移動商務(wù)以及位置服務(wù)類業(yè)務(wù)。
(1)通信類業(yè)務(wù)
3G手機(jī)的通信類業(yè)務(wù)主要表現(xiàn)為高質(zhì)量通話功能和可視電話功能。也就是打電話的時候不僅能聽到對方清晰的聲音。還可以看到對方的動作和表情。通話信號的抗干擾能力高,通話質(zhì)量強(qiáng),極大地降低了通話掉線頻率,視頻通話的性能穩(wěn)定。
(2)信息類業(yè)務(wù)
基于3G網(wǎng)絡(luò)的大容量與高速度,運(yùn)營商所提供的信息類業(yè)務(wù)除了包括2G時代的純文本內(nèi)容,更多的是通過多媒體的方式來實現(xiàn)信息內(nèi)容的交互式傳遞。例如典型的視頻應(yīng)用——視頻社區(qū)??梢詫⒗贤瑢W(xué)、老同事形成一個社區(qū),無論在天南海北,大家都可以定時會晤,通過社區(qū)的活動進(jìn)行溝通和交流。
(3)娛樂類業(yè)務(wù)
3G智能手機(jī)娛樂類業(yè)務(wù)包括了基于IP的視頻應(yīng)用。
基于多種音、視頻內(nèi)容來源的應(yīng)用以及基于家庭娛樂設(shè)備中無線音、視頻傳輸需求的應(yīng)用。
(4)互聯(lián)網(wǎng)業(yè)務(wù)
3G被認(rèn)為是移動通信和互聯(lián)網(wǎng)高度融合的一個典型應(yīng)用。如果是長時間,例如長達(dá)幾個小時的上網(wǎng)。使用3G手機(jī)可能不如電腦(如手機(jī)電池容量限制),但是作為短期的、移動的上網(wǎng)方式,使用3G手機(jī)上網(wǎng)則非常方便快捷。
(5)移動商務(wù)
移動商務(wù)主要包括移動支付、移動銀行、移動零售、移動票務(wù)等業(yè)務(wù)。移動支付功能指通信運(yùn)營商可以通過把客戶的手機(jī)號碼與銀行卡等支付賬戶進(jìn)行“捆綁”。隨時隨地為3G手機(jī)用戶提供移動支付服務(wù)。調(diào)研數(shù)據(jù)顯示。用戶最感興趣的3G手機(jī)功能是“移動錢包”。比例占到了被調(diào)查用戶數(shù)的46.2%。該功能使手機(jī)終端的可移動性、便攜性、私人化特征得到了充分的體現(xiàn)。
(6)位置服務(wù)類業(yè)務(wù)
位置服務(wù)類業(yè)務(wù)主要有觸發(fā)類服務(wù)、信息類服務(wù)、跟蹤類服務(wù)和救援類服務(wù),主要目標(biāo)是為用戶提供安全保障服務(wù)和個性化、貼身的服務(wù)。如3G手機(jī)提供的定位功能。使得用戶無論走在什么地方。都可以通過手機(jī)上的電子地圖。方便快捷地找到附近的醫(yī)院、餐廳等。
由以上特色業(yè)務(wù)的功能可以看出,3G智能手機(jī)將逐漸變成一臺微型電腦,用戶可以安裝各類附加應(yīng)用程序。讓它的功能得到無限的擴(kuò)展:用戶還可以根據(jù)自己的喜好來設(shè)置手機(jī),使之成為自我個性的代表。
3智能手機(jī)操作系統(tǒng)比較
智能手機(jī)操作系統(tǒng)作為智能手機(jī)的軟件平臺。管理智能手機(jī)的軟硬件資源,為應(yīng)用軟件提供各種必要的服務(wù)。手機(jī)操作系統(tǒng)的采用,可以使應(yīng)用軟件開發(fā)人員避開繁瑣的硬件管理與操作編程,把主要精力放在目標(biāo)應(yīng)用的算法研究以及應(yīng)用程序自身的構(gòu)架上:同時應(yīng)用智能手機(jī)操作系統(tǒng)提供的各種服務(wù),可以更容易地構(gòu)建出復(fù)雜的智能手機(jī)應(yīng)用系統(tǒng)。
可以說每一種智能手機(jī)操作系統(tǒng)都有其自身的優(yōu)點(diǎn)。
它們的體系結(jié)構(gòu)以及所能夠提供的服務(wù)也不盡相同。而智能手機(jī)本身的特殊性又對智能手機(jī)操作系統(tǒng)提出了許多帶有共性的需求,比如實時性、開放性、安全性、硬件支持能力等。下面將從實時性、開放性、安全性、硬件支持能力等方面來對目前的主要智能手機(jī)操作系統(tǒng)進(jìn)行分析和比較。
3.1 實時性
實時性是智能手機(jī)操作系統(tǒng)的一個非常重要的特性。
同時也是選擇智能手機(jī)操作系統(tǒng)時首先需要衡量的一個重要指標(biāo)。為了增強(qiáng)系統(tǒng)的實時性,智能手機(jī)操作系統(tǒng)通常從多個方面入手,應(yīng)用多種技術(shù)以便能夠達(dá)到這個目的。衡量操作系統(tǒng)實時性的主要指標(biāo)包括任務(wù)切換時間、中斷響應(yīng)時間和定時器的精度。
(1)Linux
Linux在設(shè)計之初沒有對實時性進(jìn)行任何考慮。主要考慮的是資源共享。吞吐率最大化。但是隨著Linux的快速發(fā)展,它的應(yīng)用范圍已經(jīng)遠(yuǎn)遠(yuǎn)超出了當(dāng)初的設(shè)想。Lin呱的開放性以及其對多種架構(gòu)的支持使得它在嵌入式系統(tǒng)中得到了廣泛的應(yīng)用,但是許多嵌入式系統(tǒng)的實時性要求使得Ijnux在嵌入式領(lǐng)域的應(yīng)用受到了一定的阻礙,因此人們要求Linux具備實時性的呼聲越來越高。
在Linux 2.4和以前的版本中。內(nèi)核是不可搶占的。也就是說,如果當(dāng)前任務(wù)運(yùn)行在內(nèi)核態(tài),即使當(dāng)前有更緊急的任務(wù)需要運(yùn)行。目前正在運(yùn)行的任務(wù)也不能被搶占,緊急任務(wù)必須等到當(dāng)前任務(wù)執(zhí)行完內(nèi)核態(tài)的操作返回用戶態(tài)后。
或當(dāng)前任務(wù)因需要等待某些條件滿足而主動讓出CPU時才能被考慮執(zhí)行,很明顯這將嚴(yán)重影響搶占延遲。
在Linux 2.6中。內(nèi)核已經(jīng)可以搶占。因而實時性得到了加強(qiáng),但是內(nèi)核中仍有大量的不可搶占區(qū)域,如由自旋鎖(spinlock)保護(hù)的臨界區(qū)以及一些顯式使用preempt disable失效搶占的臨界區(qū)。
在Linux2.4和以前的版本中。調(diào)度器的時間復(fù)雜度為O(n)的算法,而且在SMP(symmetrical multi-processing,對稱多處理)的情況下性能較低,因為所有的CPU共享一個任務(wù)鏈表,任何時刻只能有一個調(diào)度器運(yùn)行,因此,搶占延遲很大程度上依賴于當(dāng)前系統(tǒng)的任務(wù)數(shù),具有非常大的不確定性和不穩(wěn)定性。
(2)Windows CE
Windows CE雖然也不是一個嚴(yán)格意義上的實時內(nèi)核。
但卻是專門為嵌入式系統(tǒng)設(shè)計的。它支持嵌套中斷,允許更高優(yōu)先級別的中斷首先得到響應(yīng)。而不是等待低級別的ISR(interuption service routine,中斷服務(wù)程序)完成。這使得該操作系統(tǒng)具有嵌入式操作系統(tǒng)所要求的實時性,同時有更好的線程響應(yīng)能力。Windows CE對高級別IST(中斷服務(wù)線程)的響應(yīng)時間上限的要求更加嚴(yán)格,在線程響應(yīng)能力方面進(jìn)行了改進(jìn),幫助開發(fā)人員掌握線程轉(zhuǎn)換的具體時間。并通過增強(qiáng)的監(jiān)控能力和對硬件的控制能力幫助他們創(chuàng)建新的嵌入式應(yīng)用程序。另外。Windows CE系統(tǒng)有256個優(yōu)先級別。可以使開發(fā)人員在控制嵌入式系統(tǒng)的時序安排方面有更大的靈活性。
(3)Palm OS
Palm OS是一套專門為掌上電腦開發(fā)的OS。在編寫程序時。Palm OS充分考慮了掌上電腦內(nèi)存相對較小的情況。
因此它只占用非常小的內(nèi)存。由于基于Palm OS編寫的應(yīng)用程序占用的空間也非常小(通常只有幾十KB)。所以,基于Palm OS的掌上電腦雖然只有幾MB的RAM。卻可以運(yùn)行眾多應(yīng)用程序。并且有較好的實時性能。同時。Palm OS有著合理的內(nèi)存管理,其存儲器全部是可讀寫的快速RAM。
RAM分為兩種:動態(tài)RAM和靜態(tài)RAM。動態(tài)RAM類似于PC機(jī)上的RAM,它為全局變量和其他不需永久保存的數(shù)據(jù)提供臨時的存儲空間;靜態(tài)RAM類似于PC機(jī)上的硬盤,可以永久保存應(yīng)用程序和數(shù)據(jù)。
(4)Symbian
Symbian 9.0及以后版本使用了EKA2核心。EKA2全面改進(jìn)了原有的任務(wù)調(diào)度算法。完全支持實時性,支持某些高帶寬、高優(yōu)先級的任務(wù)對系統(tǒng)的基本實時性要求。這些任務(wù)包括VolP網(wǎng)絡(luò)電話、高速率的視頻在線點(diǎn)播。EKA2的改進(jìn)有:內(nèi)核實時增強(qiáng),多線程處理能力更好,API調(diào)用更高效快速,是一個真正意義上的32位操作系統(tǒng)。
(5)Google Android
C,oosle Android手機(jī)平臺是采用Lint=為內(nèi)核的一個完整的手機(jī)軟件開發(fā)平臺,有著單獨(dú)的應(yīng)用框架和Java虛擬機(jī),其內(nèi)核實時性可以參考Linux部分。
3.2開放性
開放性是指人們可以通過自己編寫軟件來擴(kuò)充系統(tǒng)的功能,實現(xiàn)復(fù)雜的計算,為超大型程序提供了方便的模塊化編程方法,所以開放操作系統(tǒng)有利于其他開發(fā)者修補(bǔ)該操作系統(tǒng)的不足,使它變得更加完善和強(qiáng)大。
Linux遵守GPL(GNU通用公共許可證),將源代碼開放。例如,Google Android的Linux操作系統(tǒng)是完全開放的、自由的用戶界面,具有完整的原始代碼。由于GoogleAndroid的智能手機(jī)平臺是開放性系統(tǒng),公開源代碼,支持第三方軟件加入。使得Google Android的智能手機(jī)能夠加載很多個性化軟件,比如防火墻、即時通信軟件、Office閱讀軟件以及各種在電腦上安裝的軟件,手機(jī)的功能更加強(qiáng)大,加快了手機(jī)與電腦的融合。同時,與Windows CE、Symbian等不同,Android操作系統(tǒng)免費(fèi)向開發(fā)人員提供,不存在任何阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙,這樣可以為第三方廠商節(jié)省大量研發(fā)成本。
Windows CE是閉合的操作系統(tǒng),其軟件Windows是商業(yè)軟件,它的源代碼是企業(yè)的最高機(jī)密,所以不可能開放。
使用類似Visual C++的軟件。第三方可以開發(fā)應(yīng)用WindowsCE。Windows CE也利用類似視窗的。NET框架。但所有的使用和服務(wù)都是收費(fèi)的。
Symbian同樣沒有開放源代碼。但根據(jù)Nokia的最近公告,Symbian也將會有開放源代碼的計劃。Symbian基金會日前發(fā)行了它的第一個開放源碼軟件程序,從而邁出了將整個Symbian手機(jī)操作系統(tǒng)開放的第一步。
Palm OS是一套開放性的系統(tǒng)。開發(fā)者向用戶免費(fèi)提供Palm OS的開發(fā)工具。允許用戶利用該工具在Palm OS基礎(chǔ)上方便地編寫、修改相關(guān)軟件。
iPhone OS X是有限的SDK(軟件開發(fā)工具包),保證程序員可以利用全能OS,而不必深入核心。也就是說,核心是不完全開放的。
鑒于RIM的手機(jī)處理的大都是企業(yè)電子郵件和機(jī)密信息,這使得開放其操作系統(tǒng)不太合適。而且會對用戶的隱私保護(hù)有一定的影響。
3.3安全性
智能手機(jī)操作系統(tǒng)的安全問題主要集中于在接入語音及數(shù)據(jù)網(wǎng)絡(luò)后所面臨的安全威脅。例如系統(tǒng)是否存在能夠引起安全問題的漏洞。信息存儲和傳送的安全性是否有保障,是否會受到病毒等惡意軟件的威脅等。由于目前手機(jī)用戶比計算機(jī)用戶還多。而且智能手機(jī)可以提供多種數(shù)據(jù)連接方式。所以病毒對于手機(jī)系統(tǒng)特別是智能手機(jī)操作系統(tǒng)是一個非常嚴(yán)峻的安全威脅。筆者主要針對以上幾個安全性方面對智能手機(jī)操作系統(tǒng)進(jìn)行對比。
Symbian系統(tǒng)本身存在一些安全漏洞。所以目前受病毒影響最深。已經(jīng)發(fā)現(xiàn)的針對Symbian的病毒超過了50種。
這些病毒通常感染Symbian 6.0系統(tǒng)。而UiQ平臺極少發(fā)生感染。廣為人所知的Cabir病毒是通過藍(lán)牙連接對Symbian手機(jī)進(jìn)行DoS攻擊的。由于越來越多的個人信息(如電話簿、商業(yè)機(jī)密文檔等)會被保存在智能手機(jī)中。為了防止惡意軟件或病毒竊取這些信息或者耗費(fèi)用戶通信費(fèi)用,Symbian 9.0及以后的版本引入了新的系統(tǒng)安全模型。
Symbian 9.0以前的系統(tǒng)中安裝的某個軟件的所有文件都會存儲在ksystemappskxxx目錄下,Symbian 9.0及以后的系統(tǒng)中,某個軟件中的不同文件會存放在不同的目錄。如可執(zhí)行文件(.exe,以前是.app)被放在ksys、bin下,資源文件被放在h'esource下。每個軟件的所有私有數(shù)據(jù)被放在private目錄下,其他目錄是供所有軟件共享的目錄。其中sysbin和hresource用戶不能更改??蓤?zhí)行文件只能由安裝程序復(fù)制進(jìn)去。private只能由軟件安全號所對應(yīng)的軟件訪問??蓤?zhí)行文件引入了能力模型,取得某些能力如訪問用戶的電話簿、發(fā)送短信、修改手機(jī)設(shè)置等,需要讓可執(zhí)行文件獲得Symbian公司或者諾基亞公司的數(shù)字簽名。系統(tǒng)還具備可執(zhí)行文件防纂改功能,安裝經(jīng)過修改的軟件包。或者用讀卡器修改存儲卡的ksyskbin目錄。會被Symbian系統(tǒng)發(fā)現(xiàn)。引入這些特性。使得系統(tǒng)的安全性大大提高。但是系統(tǒng)安全模型的引入,也導(dǎo)致系統(tǒng)出現(xiàn)了兼容性問題。
用于SmartPhone的Windows CE系統(tǒng)也已經(jīng)發(fā)現(xiàn)了一些病毒感染的案例。病毒作者對微軟平臺的熱衷在手機(jī)系統(tǒng)上得到了延續(xù)。Windows CE系統(tǒng)很早就被發(fā)現(xiàn)存在安全漏洞。典型的漏洞是允許攻擊者向使用該系統(tǒng)的手機(jī)發(fā)送惡意代碼,這一點(diǎn)與基于Windows的PC系統(tǒng)非常類似。
Palm和Linux系統(tǒng)在安全漏洞方面表現(xiàn)較好,不過這其中包含了市場份額的影響。攻擊者通常更熱衷于在市場份額表現(xiàn)出色的系統(tǒng)上發(fā)掘漏洞。目前在系統(tǒng)漏洞方面各廠商能夠在較短的時間內(nèi)對發(fā)現(xiàn)的安全漏洞進(jìn)行修補(bǔ)。只要用戶及時地更新安全補(bǔ)丁,就可以避免漏洞所造成的危害。
最新發(fā)布的Palm操作系統(tǒng)提供了安全性保護(hù),新的安全性特性將保證敏感數(shù)據(jù)的保密性,主要提供了強(qiáng)大的128位的數(shù)據(jù)加密服務(wù)(該服務(wù)基于RSA Security標(biāo)準(zhǔn)的RC4加密算法)以及端對端的安全性(通過用于電子郵件、Web瀏覽以及在線交易的安全套接字層(secure socketlayer,SSL)服務(wù)來提供)。對于為Palm編寫應(yīng)用程序的開發(fā)人員來說,這些新的安全特性意味著他們有了構(gòu)建強(qiáng)大加密術(shù)和安全性協(xié)議的基礎(chǔ),且該基礎(chǔ)是由安全性專家設(shè)計的。Palm的目標(biāo)是通過提供給開發(fā)人員可以“掛入”的、堅固的安全性基礎(chǔ)來簡化其平臺上安全應(yīng)用程序的開發(fā)。
總體來說,由于借鑒了個人電腦領(lǐng)域的安全經(jīng)驗,手機(jī)操作系統(tǒng)廠商在設(shè)計系統(tǒng)時已經(jīng)對安全問題進(jìn)行了充分的考慮。這些廠商在數(shù)據(jù)加密、通信協(xié)議以及訪問認(rèn)證方式等方面已經(jīng)做出了很多安全增強(qiáng),并且仍在積極地進(jìn)行改進(jìn)。
只要正確地利用這些功能以及一些已有的安全解決方案。
并對廠商發(fā)布的各種信息保持適當(dāng)?shù)年P(guān)注,目前的智能手機(jī)用戶是能夠獲得良好的安全環(huán)境的。
3.4對硬件的支持能力
由于智能手機(jī)硬件平臺具有多樣性。CPU芯片的更新又非??焖?。所以要求智能手機(jī)操作系統(tǒng)支持常用的嵌入式CPU,如X86、ARM、MIPS、POWERPC等,并具有良好的可移植性,支持種類繁多的外部設(shè)備。
Linux支持當(dāng)前流行的大部分嵌入式處理器,其中支持的32位體系架構(gòu)有Alpha、ARM、Cris、X86 M68K、MIPS、PARISC、PPC、SH、Spare等;支持的64位體系架構(gòu)有MIPS64、PPc64、SH64、Spare64、X86_64等。
Windows CE僅支持ARM、MIPS、X86和SuperH。
Symbian可以支持從ARM9系列到ARM11系列的所有ARM處理器。Symbian OS v9.5是業(yè)界首款可支持ARMCortex-A8處理器的智能手機(jī)操作系統(tǒng)。
Palm支持的處理器有Motorola DragonBall、Xscale等。
iPhone支持的處理器為ARMl 176JZF。
Black Berry支持的處理器有PXA9xx、PXA270等。
4結(jié)束語
3G智能手機(jī)操作系統(tǒng)發(fā)展方向勢必需要滿足手機(jī)語音功能之外的多媒體應(yīng)用、無線上網(wǎng)、手機(jī)電視、手機(jī)定位等數(shù)據(jù)功能的“移動寬帶”應(yīng)用。它要能夠處理圖像、音樂、視頻流等多種媒體形式。提供包括網(wǎng)頁瀏覽、電話會議、電子商務(wù)等多種信息服務(wù)。同時。3G智能手機(jī)操作系統(tǒng)應(yīng)努力做到統(tǒng)一平臺??朔袷絾栴}。提供更加靈活的功能,以及讓使用者決定功能。以滿足個性化需求。因此,未來手機(jī)市場的格局會是以無線互聯(lián)網(wǎng)應(yīng)用為主,硬件價格所占比例會不斷地縮小。手機(jī)企業(yè)不再依靠手機(jī)盈利,靠的是軟件和增值服務(wù)。