Windows CE 6.0的技術(shù)發(fā)展與突破
微軟在操作系統(tǒng)領(lǐng)域共有3大分支,其中之一是已經(jīng)成為歷史的DOS/Win9X,而另一分支則是正在桌面環(huán)境上發(fā)光發(fā)熱的NT架構(gòu),最新一代產(chǎn)品為Vista,而CE這一分支算是微軟針對個(gè)人計(jì)算機(jī)以外的產(chǎn)品所開發(fā)的操作系統(tǒng)家族統(tǒng)稱,使用在PDA或智能型手機(jī)上的就稱為Windows Mobile,要使用這個(gè)名稱必需要通過微軟認(rèn)證,而應(yīng)用在其它用途,如機(jī)上盒、VoIP電話、收銀機(jī)等則維持Windows CE的名稱,不需通過認(rèn)證,但是在授權(quán)費(fèi)用方面則是有所不同?;旧?,不同名稱只是在于啟用元件的不同而已,基本核心都完全一樣。而我們將在這篇所討論的,就是基于CE架構(gòu)之下的行動裝置操作系統(tǒng)架構(gòu)。
圖說:Windows CE的發(fā)展歷程。(資料來源:微軟)
手持式智能型裝置市場動態(tài)
目前占較大比例的Windows嵌入式應(yīng)用,仍在行動裝置方面,根據(jù)Gartner最新的調(diào)查顯示,雖然2006年全年的智能型手機(jī)及PDA的銷售量,相較起2005年將會有超過75%的成長,成長力道大多集中于智能型手機(jī)上,PDA方面沒有明顯的增長。而根據(jù)IDC的調(diào)查,2006年第三季的手持式智能裝置的銷售量卻呈現(xiàn)減少的趨勢,IDC將其歸咎于缺乏新產(chǎn)品線,使得廠商在營銷上缺乏動力,比如說,占銷售比例最大的依然是Palm,約有4成左右,但是其熱銷的機(jī)種已經(jīng)有超過1年以上的年齡,算起來已經(jīng)是垂垂老矣,其次便是Windows CE 架構(gòu)的產(chǎn)品,HP、Dell以及MIO這三家總和起來約有4成5左右,但是由于微軟的操作系統(tǒng)遲未更新,在使用觀感大致不變的情況之下,新機(jī)種的推出并未給消費(fèi)者帶來太多新鮮感,因此也都各自有程度不等的衰退。
Windows CE 5.0的特性與應(yīng)用趨勢
Windows CE是微軟在嵌入式系統(tǒng)的重頭戲,相關(guān)的發(fā)展歷程已經(jīng)超過十個(gè)年頭,雖然依照慣例,初期貧弱的效能與菜單現(xiàn),曾經(jīng)一度被業(yè)界當(dāng)作笑話看,但是憑借著微軟雄厚的財(cái)力以及多變的商業(yè)手法,到后來已經(jīng)在嵌入式應(yīng)用占據(jù)了一片山頭,軟硬件的發(fā)展不僅帶動了相關(guān)產(chǎn)業(yè)的進(jìn)步,許多廠商也因此而崛起或者是沒落,而自從Windows CE 5.0推出以來,由于系統(tǒng)核心架構(gòu)上的限制,雖然在資料安全性方面獲得了加強(qiáng),但是換來的代價(jià)卻是效能的低落,硬件廠商也被迫不得不在某些重視即時(shí)反應(yīng)的應(yīng)用中,采用較為高階的硬件,以彌補(bǔ)因?yàn)椴僮飨到y(tǒng)本身的設(shè)計(jì)問題而造成的效能減損,甚至某些廠商就采取不升級到Windows CE 5.0,而是采用舊版的4.0(2003/2003se),雖然在某些情況之下資料會有遺失的風(fēng)險(xiǎn),但是在效能表現(xiàn)上明顯好上許多,相關(guān)原因后述。
即便如此,Windows CE 5.0的推出仍使得微軟在嵌入式應(yīng)用中又前進(jìn)了一步,因?yàn)榫蜕虡I(yè)經(jīng)營來說,Windows CE 5.0是一款非常成功的產(chǎn)品,雖然偏弱的性能表現(xiàn)廣為使用者詬病,但是其廣泛的應(yīng)用程序支持及多媒體表現(xiàn)卻又讓它成為消費(fèi)者的最愛。Windows CE 5.0與前一版操作系統(tǒng)的差別主要是在儲存能力以及檔案系統(tǒng)方面的改進(jìn)。對于OEM制造廠商來說,Windows CE 5.0最占優(yōu)勢的一項(xiàng)改進(jìn),就是QFE快速修復(fù)功能的增強(qiáng),透過QFE機(jī)制,裝置需要進(jìn)行功能更新或者是除錯(cuò)時(shí),就只需要下載特定部分的組件進(jìn)行更新即可,廠商無須釋放出新版的完整ROM檔,除了降低更新的麻煩以外,也減少了因?yàn)榇鎯ζ鞒qv更新而導(dǎo)致潛在資料喪失危險(xiǎn)的問題。
圖說:Windows CE 5.0的存儲器管理模型。(資料來源:微軟)
至于在針對行動式智能裝置的Windows Mobile 5.0中,則是增加了幾個(gè)重大的更新,其中之一就是加入了3G網(wǎng)絡(luò)的支持,雖然3G的推廣受到應(yīng)用不足以及價(jià)格高昂的阻礙,到目前還不算相當(dāng)普及,但是其可進(jìn)行高速網(wǎng)絡(luò)傳輸?shù)哪芰?,對特定商?wù)或消費(fèi)端領(lǐng)域仍有相當(dāng)大的幫助,因此未來潛力仍不可小看。Windows Mobile 5.0另一個(gè)最大的改變之處,就是為了檔案保全的問題,而采用了不同于以往的檔案儲存以及執(zhí)行方式。將原先僅設(shè)計(jì)來作為儲存之用的ROM也拿來供給程序執(zhí)行使用,所有包含記憶卡、內(nèi)部存儲器等可供儲存的區(qū)塊都將會被加載視為單獨(dú)的實(shí)體,程序執(zhí)行階段可以直接在ROM部分進(jìn)行,因此資料的儲存就不需要在耗用額外的電力去維持,除了省電以外,也可以確保當(dāng)系統(tǒng)突然斷電時(shí),資料仍可以完整被保留住而不會憑空消失。
但世事難兩全,確保了資料的安全性,卻帶來了性能的極大耗損,由于智能型裝置所使用的ROM是屬于讀取快但是寫入慢的存儲器,在執(zhí)行階段就已經(jīng)可以看出效能較舊版Windows Mobile為差,但相差幅度還不算大,可是只要當(dāng)Windows Mobile 5.0要進(jìn)行分頁動作,或者是要將快取中的資料寫回ROM中時(shí),此時(shí)裝置就會表現(xiàn)出明顯的呆滯狀況,不僅無法回應(yīng)使用者的操作,程序的執(zhí)行有時(shí)也會被迫中斷。雖然這部分可以藉由加大分頁大小來取得改善,但是加大分頁大小,就等于減少了可用隨機(jī)存取存儲器的大小,同時(shí)間所能執(zhí)行的程序數(shù)量就會減少,甚至有些存儲器需求量大的程序就會無法執(zhí)行。由于Windows Mobile 5.0有釋出部分的程序原始碼給制造商自行修改設(shè)定,每一個(gè)別廠商在這方面的考量點(diǎn)不同,因此不同廠商所制造出來的硬件雖然在規(guī)格上相近,卻可能會有截然不同的性能或穩(wěn)定性表現(xiàn)等類似情況發(fā)生。
微軟逐漸拋開封閉心態(tài) 采用開放原始碼
微軟在推廣這一版操作系統(tǒng)時(shí),其中一個(gè)主打的賣點(diǎn)就是開放原始碼,不過Windows CE 5.0版中只有約開放56%的原始碼,其它部分仍屬于微軟的業(yè)務(wù)機(jī)密,這也在Windows CE 5.0剛推出時(shí)造成了一陣爭議,只開放一半的原始碼,使得微軟與競爭對手比較起來,誠意明顯不足。不過相較起過去微軟的表現(xiàn),已經(jīng)算是相當(dāng)大的讓步了。而拜此所賜,雖然WM5的產(chǎn)品效能表現(xiàn)比起采用其它操作系統(tǒng)的產(chǎn)品要稍嫌不如,但是在廠商努力最佳化的情況之下,使得差距不至于被拉的太大,穩(wěn)定性也要遠(yuǎn)勝于過去舊版本的產(chǎn)品。
透過微軟的分享原始碼管理計(jì)畫(Microsoft Shared Source Directive),開發(fā)者能夠在這些開放的原始碼中任意變更自己所需要的關(guān)鍵功能,添加自訂的功能或者是修正錯(cuò)誤等等,而拜微軟封閉所賜,每家廠商所自行修改的程序碼可以不必如嵌入式Linux般必須遵照GPL規(guī)范釋放出來,在可藏私的的情況之下,廠商的支持也越趨熱烈,這也是開放原始碼社群所始料未及的一點(diǎn)。而專屬開發(fā)工具Platform Builder不僅彈性大,規(guī)范也定義的相當(dāng)明確,因此廠商也很容易在第一時(shí)間整合進(jìn)自家專屬的功能或硬件元件,以提升市場競爭力。舉例來說,5.0版原先架構(gòu)并不支持802.11i、802.11n 以及WPA2等標(biāo)準(zhǔn),但是廠商仍然可以自行改寫推出支持的Windows CE 5.0產(chǎn)品,以技術(shù)優(yōu)勢和市場上其它類似產(chǎn)品做出明顯區(qū)隔。[!--empirenews.page--]
Windows CE 5.0的其它重要功能
裝置的智能化也是Window CE 5.0的另一項(xiàng)主打,除了透過針對UPnP標(biāo)準(zhǔn)的強(qiáng)化支持,使其無線網(wǎng)絡(luò)應(yīng)用可以更為靈活而且傻瓜化,這有助于類似Location Free產(chǎn)品及DLNA標(biāo)準(zhǔn)的整合與推廣。而另外一個(gè)重要功能則是之前也有提過的,就是整合了DirectX的子集合,Windows CE 5.0平臺可以提供完整的DirectX8 DirectX3D的硬件加速能力,這對于特定娛樂應(yīng)用的硬件來說,是非常有利的一點(diǎn),而就目前的產(chǎn)品設(shè)計(jì)趨勢來說,許多手持裝置也已經(jīng)逐漸邁入3D顯示的領(lǐng)域,不僅是應(yīng)用于導(dǎo)航、應(yīng)用程序界面,或者是游戲娛樂等,導(dǎo)入Direct3D的支持,也能讓產(chǎn)品更具未來性。雖然截至目前為止,采用這項(xiàng)3D功能的商業(yè)應(yīng)用仍相當(dāng)少,但是隨著開發(fā)環(huán)境益發(fā)成熟的Windows CE 6.0發(fā)布以后,以其更為杰出的系統(tǒng)架構(gòu)與整體效率,相信采用者也會隨之增加,
Windows CE 5.0集舊有大成 6.0版核心變革帶來性能大躍進(jìn)
圖說:Windows CE 6.0的存儲器管理模型。(資料來源:微軟)
雖然Windows CE 5.0引進(jìn)了許多更為杰出的新設(shè)計(jì),但是明顯需要依靠更高性能的硬件來改善其執(zhí)行效能,也成了制造商詬病的對象,因此在市面上的手持式產(chǎn)品中,除了高階機(jī)種以外,甚少見到具備低階硬件產(chǎn)品中采用Windows CE 5.0,大多是采用其它如Symbian等效率表現(xiàn)較佳的作業(yè)程序取而代之。不過這樣的情況在Windows CE 6.0發(fā)表之后,可望會有相當(dāng)大幅度的逆轉(zhuǎn),對于硬件端設(shè)計(jì)來說,Windows CE 6.0的架構(gòu)可以更為有效的利用總體運(yùn)算以及其它硬件資源,
首先從核心架構(gòu)來談,Windows CE 3.0到5.0使用的雖然是重新架構(gòu)過的核心,以支持更為關(guān)鍵的即時(shí)應(yīng)用,但是其核心構(gòu)成基礎(chǔ)仍有很大一部分是從更舊版產(chǎn)品中延伸應(yīng)用而來,因此許多在存儲器管理以及執(zhí)行緒處理方面仍有許多積弊未除。而由于Windows CE 是一款32位元的操作系統(tǒng),因此系統(tǒng)平時(shí)是執(zhí)行于4GB的虛擬定址存儲器中,但是從Windows CE 1.0版到5.0版,都是采用分層保留的方式來進(jìn)行這4GB虛擬空間的管理,其中2GB會被系統(tǒng)核心所保留,而較低層的2GB空間則是被分配作為存儲器分頁使用,每個(gè)執(zhí)行中的程序則是可以各自分配到32MB的虛擬記憶”槽”,這些程序有很大部分是屬于核心或系統(tǒng)的服務(wù)方面,包含了硬件裝置的管理、視窗繪圖以及事件子系統(tǒng)、檔案系統(tǒng)等等。
圖說:Windows CE 6.0的系統(tǒng)架構(gòu)。(資料來源:微軟)
Windows CE 6.0大幅改變了核心定址以及資源分配的機(jī)制,舊版CE同時(shí)間只能有32個(gè)程序執(zhí)行于各自分配的32MB虛擬存儲器空間中,6.0版則是大幅放寬了限制,最大可同時(shí)執(zhí)行32,000個(gè)程序,而且每個(gè)程序可擁有獨(dú)立分配的2GB虛擬存儲器,在此同時(shí),核心服務(wù)、硬件裝置的驅(qū)動程序、視窗繪圖以及事件子系統(tǒng)、檔案系統(tǒng)等服務(wù)都被轉(zhuǎn)移到系統(tǒng)核心保留空間中。不過這樣的改變也會帶給使用者疑慮,畢竟過去NT 4.0就曾經(jīng)上演過類似的戲碼,將驅(qū)動程序從使用者模式轉(zhuǎn)移到核心模式,雖然可以大幅改進(jìn)應(yīng)用的速度,但是一個(gè)體質(zhì)不良的驅(qū)動程序,可能就會拖垮整個(gè)系統(tǒng),因此在硬件驅(qū)動程序的開發(fā)上,就必需要有個(gè)有效標(biāo)準(zhǔn)來規(guī)范,最好還要導(dǎo)入如WHQL之類的驅(qū)動程序驗(yàn)證服務(wù),以避免影響整個(gè)系統(tǒng)的穩(wěn)定性。
Windows CE 6.0的新變革
Windows CE 6.0依舊把眼光投注在ARM架構(gòu)中,新的BSP與編譯器也都支持了ARM的最新體系,但是其它嵌入式處理器的支持也沒有被忽視,威盛公司最新的處理器也在不久前宣稱支持了Windows CE 6.0操作系統(tǒng)。而6.0版也是微軟首個(gè)導(dǎo)入次世代檔案系統(tǒng)ExFAT的操作系統(tǒng),雖然到目前為止其細(xì)節(jié)還不明了,但是根據(jù)已有的信息指出,ExFAT在Windows CE 6.0中,擔(dān)當(dāng)了總管所有外接儲存媒體的中界層的角色,廣為產(chǎn)業(yè)界所稱贊的是,這能夠解除過去傳統(tǒng)FAT檔案系統(tǒng)的32GB單一容量限制。ExFAT同樣也解除了單一檔案只能在2GB以下的限制,這對于硬件廠商以Windows CE發(fā)展大容量儲存管理伺服架構(gòu),有著相當(dāng)大的幫助。加上一些安全機(jī)制,我們可以把ExFAT視為Windows CE 6.0上的NTFS加強(qiáng)版。
VoIP也是Windows CE 6.0另一個(gè)持續(xù)加強(qiáng)的重點(diǎn),除了在應(yīng)用程序?qū)拥恼细M(jìn)一步以外,操作系統(tǒng)核心也具備直接支持的能力,因此硬件開發(fā)上可以更容易的在Windows CE環(huán)境上進(jìn)行各種網(wǎng)絡(luò)的語音通訊服務(wù)。而因應(yīng)這樣的趨勢,6.0版自然也把過去5.0版的缺失補(bǔ)正過來,在網(wǎng)絡(luò)堆疊協(xié)定方面,直接支持了802.11i、WAP2、802.11e(無線QoS)、藍(lán)牙A2DP/AVRCP的AES加密等等,為無線通訊建立了一個(gè)穩(wěn)定、安全以及可靠的應(yīng)用環(huán)境。
而從使用者觀點(diǎn)來看,Windows CE 6.0擴(kuò)展了超越以往版本總和的承諾,這些功能包括了最新的多媒體能力,諸如Windows Media 10/11的支持、,對于網(wǎng)絡(luò)多媒體裝置的原生整合能力,在Platform Builder開發(fā)工具中,甚至也加入了行動媒體中心的支持,可以藉由Windows Media Connect 2.0大幅強(qiáng)化多媒體應(yīng)用的支持能力,并且可以與其它微軟的操作系統(tǒng)或硬件裝置做同步統(tǒng)合的動作。這些功能包含了以下項(xiàng)目:
■ TIFF編解碼器的支持
■ HD-DVD的解碼器支持
■ MPEG-2解碼器
■ 更多的影音編碼與格式支持
■ UDF 2.5格式的支持
■ 虛擬環(huán)繞聲道的支持
■ 多軌音效的支持
■ 強(qiáng)化DirectDraw,可支持電視使用的交錯(cuò)顯示模式
■ USB OTG功能加入,可作為USB的控制端
雖然在核心部分做出這么大的更新,但是Windows CE 6.0的儲存上并沒有如微軟其它操作系統(tǒng)般的飛漲(Vista甚至需要超過10GB的初始儲存安裝空間!),相較起5.0版,6.0在體積上也不過增加了5%左右,雖然這對嵌入式系統(tǒng)產(chǎn)業(yè)來說是理所當(dāng)然,但對于微軟可以說是另一項(xiàng)奇跡。
Windows CE 6.0帶給開發(fā)者的好處
圖說:Windows CE的模擬器。(資料來源:微軟)
在開放原始碼的歷史中,微軟要寫下另一個(gè)新的里程碑,100%對產(chǎn)品開發(fā)者釋放出原始碼,且可允許廠商進(jìn)行自訂的變更或訂做,而無須釋放出經(jīng)過修改的程序碼,雖然在廣義上并不能視為真正開放,但是為這些喜歡藏私留一手的廠商來說,無疑是增加競爭力的最佳手段之一。而作為開發(fā)工具的Visual Studio 2005 PRO將會作為Windows CE 6.0的整體套件之一,內(nèi)建的許多開發(fā)工具與定義對于開發(fā)者來說相對便利許多。
Windows CE 6.0支持了Windows .NET Compact Framework 2.0作為應(yīng)用程序管理開發(fā)以及Win32、 MFC、 ATL、 WTL和STL等程序開發(fā)界面提供給開發(fā)原生應(yīng)用程序的開發(fā)者使用。具備了如此勢力龐大以及完整的開發(fā)環(huán)境作為支持,開發(fā)者與制造商也可確保后續(xù)的支持不虞匱乏。
而在硬件方面,根據(jù)微軟方面的說法,在不變更原有的硬件架構(gòu)之下,導(dǎo)入Windows CE 6.0可以大幅改善原有程序的執(zhí)行效率,并且也容許同時(shí)間有更多程序同步執(zhí)行,由于每個(gè)程序都具備有獨(dú)立的執(zhí)行空間,特定程序當(dāng)?shù)?,也不會影響到其它?yīng)用程序或系統(tǒng)執(zhí)行,提供給使用者比起以往舊版系統(tǒng)更強(qiáng)的穩(wěn)固性與更大的彈性。而目前逐漸風(fēng)行的多核心處理架構(gòu)上,Windows CE 6.0也可以在不變更程序開發(fā)者原有程序模型的狀況之下,提供最佳化的核心工作自動分配與指定,當(dāng)然,如果有需求的話,程序開發(fā)者依然可以自行決定指定核心的方式。
市場上的實(shí)際應(yīng)用與結(jié)論
圖說:Windows CE 6.0的開發(fā)平臺。(資料來源:Freescale)
截至目前為止,臺灣已經(jīng)有研華科技在針對物流、倉儲管理、公共服務(wù)以及領(lǐng)域維護(hù)方面的應(yīng)用,進(jìn)行基于Windows CE 6.0操作系統(tǒng)下的工業(yè)級掌上型終端機(jī)的開發(fā),而精技計(jì)算機(jī)則是開發(fā)了可應(yīng)用于搜集資料、RFID、BarCode管理的垂直市場PDA,采用Windows CE 6.0中的cell core元件,縮短GPRS端的資料傳輸設(shè)計(jì)時(shí)程。而各大手持式智能裝置的開發(fā)者也都已經(jīng)在著手導(dǎo)入Windows CE 6.0,實(shí)際產(chǎn)品預(yù)計(jì)將會于2007年第二季之后逐漸浮現(xiàn)臺面。
100%開放原始碼的創(chuàng)舉對于微軟來說是個(gè)相當(dāng)大的突破,雖然這有一大部分是因?yàn)榍度胧絃inux所帶來的競爭挑戰(zhàn)所致,但是鷸蚌相爭的結(jié)果,帶給開發(fā)伙伴的好處也遠(yuǎn)大于過去采用封閉模式的流程,而延續(xù)過去Windows CE 5.0的成果,Windows CE 6.0也將會繼續(xù)在嵌入式應(yīng)用、行動裝置、GPS、智能型手機(jī)等市場繼續(xù)攻城掠地,不過在面對市場上諸多對手的競爭,微軟仍須做出更多的改進(jìn)。比如在修正漏洞方面可以更快速的反應(yīng)、并且提供給開發(fā)者更大的支持力度等等,當(dāng)開發(fā)者甜頭吃的夠多,自然也會對Windows CEWindows CE架構(gòu)更為忠誠,出現(xiàn)在市面上的產(chǎn)品自然也會更為成熟。