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