今天的手機(jī)已經(jīng)成為人們生活中使用頻率最高的電子產(chǎn)品,相對(duì)于其他的電子產(chǎn)品,手機(jī)功能要復(fù)雜得多。無線通訊、用戶界面、數(shù)據(jù)存儲(chǔ)和多媒體處理等多項(xiàng)工作都是手機(jī)需要完成的任務(wù)。要完成這些任務(wù),手機(jī)需要一個(gè)操作系統(tǒng)(OS)來幫助管理。在移動(dòng)通訊進(jìn)入3G和Wi-Fi時(shí)代以來,以蘋果的iPhone為代表的智能手機(jī)開始流行,如今移動(dòng)通訊已經(jīng)進(jìn)入了4G時(shí)代,藍(lán)牙、Zigbee、NFC等近距離連接技術(shù)愈加成熟,互聯(lián)網(wǎng)已被廣泛使用,與人關(guān)系最為密切的智能手機(jī)自然而然地成為接入這個(gè)環(huán)境的入口。在經(jīng)歷了通訊、上網(wǎng)和App應(yīng)用之后,智能手機(jī)取代PC正在迅速成為互聯(lián)網(wǎng)的計(jì)算中心。在這樣的大環(huán)境下,一個(gè)全功能的智能手機(jī)OS就顯得尤為重要,可以說,誰控制了智能手機(jī),誰就控制了互聯(lián)網(wǎng)的入口。
手機(jī)屬于嵌入式系統(tǒng)設(shè)備,手機(jī)軟件平臺(tái)使用的操作系統(tǒng)屬于嵌入式OS的范疇。傳統(tǒng)的功能手機(jī)(FeaturePhone)使用了實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)為基礎(chǔ)的手機(jī)軟件平臺(tái)。入門級(jí)的智能手機(jī)采用了半開放的嵌入式OS(比如Symbian),而今天高端的智能手機(jī)多采用Android和IOS這樣的通用型的OS。Android是基于開源的Linux內(nèi)核的開放智能手機(jī)平臺(tái),它具有目前其他手機(jī)OS沒有的開放性特點(diǎn)。開放的智能手IOS(也稱為iPhoneOS)是建立在MacOS技術(shù)基礎(chǔ)上的智能手機(jī)平臺(tái),它具有提高移動(dòng)設(shè)備的性能、延長電池的使用壽命和改進(jìn)用戶界面體驗(yàn)等特點(diǎn)。此外,WindowsMobile在手機(jī)市場也占有少量的份額,它具有與WindowsPC相似的使用方式,支持MS-office軟件等特點(diǎn)。WindowsMobile是WindowsCE的分支產(chǎn)品,WindowsCE是一個(gè)繼承了Windows思想的嵌入式OS。
功能手機(jī)軟件平臺(tái)分析
所謂功能手機(jī),是指那些使用封閉手機(jī)OS和平臺(tái),具備手機(jī)的基本通話、短信、電郵、地址簿、音樂和WAP網(wǎng)頁瀏覽的功能,支持廠家提供的專用的游戲和應(yīng)用軟件的手機(jī),部分功能手機(jī)也可以支持JAVA應(yīng)用程序開發(fā)和運(yùn)行。這里可以清楚地看到,功能手機(jī)的定義是相對(duì)于智能手機(jī)而言的。市場上每一家手機(jī)芯片公司都提供功能手機(jī)的方案,比如TILocosta、Skeyworks、高通的BREW和MTK(臺(tái)灣聯(lián)發(fā)科)方案。這里介紹一種比較有代表性的軟件平臺(tái)Skyworks。
Skyworks是世界領(lǐng)先的射頻和無線技術(shù)半導(dǎo)體公司,它的手機(jī)軟件平臺(tái)Skyworks的層次結(jié)構(gòu)非常清晰,分為4個(gè)部分:底層是硬件和基帶(手機(jī)射頻和無線通訊部分);第二層是OS,驅(qū)動(dòng)和GSM協(xié)議棧,平臺(tái)的嵌入式OS使用的是RTXC,這是一款小型的RTOS,它提供了任務(wù)調(diào)度、任務(wù)間通信、中斷和定時(shí)器服務(wù);第三層是服務(wù)器,提供了GDI函數(shù)接口、WidgetAPI和Toolkit,這些功能和工具可以幫助創(chuàng)建用戶界面和應(yīng)用程序;最上面一層是應(yīng)用,包括了一些已經(jīng)寫好的手機(jī)應(yīng)用軟件,比如撥號(hào)、短信息、游戲、電話簿等。Skyworks軟件平臺(tái)代碼尺寸小,適合低端手機(jī)的開發(fā)。但是由于它支持的手機(jī)芯片種類少,通用性就顯得比較差。
在CDMA流行的年代,高通(Qualcomm)公司憑借芯片技術(shù)和專利兩大利器幾乎把持了所有CDMA手機(jī)的市場,高通的BREW平臺(tái)是功能手機(jī)使用最廣泛的平臺(tái)軟件之一。BREW(簡稱無線二進(jìn)制運(yùn)行環(huán)境)是專門針對(duì)手機(jī)設(shè)計(jì)的,不僅小巧和高效,同時(shí)還可以使用面向?qū)ο髴?yīng)用軟件環(huán)境進(jìn)行擴(kuò)充。BREW支持C/C++語言,還有內(nèi)嵌的虛擬機(jī),可以支持JAVA編譯環(huán)境和運(yùn)行庫。在BREW內(nèi)部的底層有一個(gè)OEM層,通過這個(gè)OEM層實(shí)現(xiàn)BREW與某種手機(jī)芯片和支持該芯片的嵌入式OS的關(guān)聯(lián)。在BREW上端有一個(gè)AEE層,該層提供了應(yīng)用程序調(diào)用BREW函數(shù)庫的方法。BREW本身并沒有一個(gè)嵌入式OS,但是其OEM的接口(MIL-移動(dòng)接口和CHIL-芯片接口)必須要一個(gè)嵌入式OS的支持,比如ThreadX和Nucleus。
比較Skyworks手機(jī)軟件平臺(tái),BREW在底層設(shè)備驅(qū)動(dòng)和數(shù)據(jù)結(jié)構(gòu)之間做了很好的封裝,具有良好的硬件獨(dú)立性和可移植性。BREW應(yīng)用程序的每個(gè)模塊都可以獨(dú)立開發(fā),而且保持二進(jìn)制兼容,這大大方便了使用高通芯片方案的手機(jī)廠家開發(fā)基于BREW的應(yīng)用軟件。BREW雖好但也有短板,BREW自己沒有一個(gè)嵌入式OS,封裝接口的完整性和透明性都有待完善,整個(gè)系統(tǒng)的健壯性還不很強(qiáng)。