沈 林
(莆田學(xué)院 電子信息工程學(xué)系,福建 莆田 351100)
Windows CE6.0的新特性分析和應(yīng)用前景
沈 林
(莆田學(xué)院 電子信息工程學(xué)系,福建 莆田 351100)
微軟開發(fā)出Windows CE系列希望能在嵌入式應(yīng)用取得像桌面Windows那樣的地位,但嵌入式應(yīng)用的需求千差萬別,微軟也沒有獲得在PC機(jī)上那樣的霸主地位,所以需要討論下嵌入式應(yīng)用的需求、Windows CE的特性來分析Windows CE的應(yīng)用前景.
嵌入式操作系統(tǒng);WindowsCE6.0;特性;應(yīng)用前景
隨著嵌入式應(yīng)用的工控、監(jiān)測(cè)、航空航天、通信等方面的蓬勃發(fā)展,越來越多的企業(yè)投入了相關(guān)產(chǎn)品的研發(fā),而對(duì)于嵌入式應(yīng)用很重要的嵌入式操作系統(tǒng)(EOS),自然也是各個(gè)廠商的重點(diǎn).在PC操作系統(tǒng)領(lǐng)域占據(jù)霸主地位微軟自然不會(huì)放過這個(gè)市場(chǎng),也在嵌入式操作系統(tǒng)領(lǐng)域推出了多種產(chǎn)品,其中的Windows CE系列就是它的主打產(chǎn)品.但是嵌入式應(yīng)用的一大特點(diǎn)就是專用性強(qiáng)、針對(duì)性強(qiáng),這使得只要是有一技之長(zhǎng)的EOS都有自己的用武之地,Windows CE系列也只能占據(jù)一部分市場(chǎng).下面通過討論Windows CE系列的特點(diǎn),來研究其適用的領(lǐng)域及應(yīng)用的前景.
Windows CE是一種具有搶先式多任務(wù)功能與強(qiáng)大通信能力的嵌入式操作系統(tǒng).最早的Windows CE 1.0誕生于1996年,是微軟專門為掌上智能設(shè)備開發(fā)的操作系統(tǒng),不過并不成功.直到2000年推出Windows CE 3.0,才真正獲得市場(chǎng)的承認(rèn).現(xiàn)在最新的版本為2006年推出的Windows Embedded CE6.0.Windows CE一開始只是一個(gè)針對(duì)掌上智能設(shè)備開發(fā)的嵌入式操作系統(tǒng),但從3.0開始,可以廣泛的應(yīng)用在各種硬件設(shè)備上.Windows CE還有一個(gè)分支——Windows Mobile,用于智能手機(jī)和其它掌上設(shè)備,只支持ARM平臺(tái).
Windows CE6.0是一款32位的多任務(wù)操作系統(tǒng),支持多任務(wù)搶占、硬實(shí)時(shí),支持的處理器有:ARM,x86,SH4,MIPS等.相較于以往的Windows CE,Windows CE6.0在以下方面進(jìn)行了改進(jìn):
1.1 進(jìn)程數(shù)增加.在Windows CE5.0及之前的版本中,最多只能同時(shí)運(yùn)行32個(gè)進(jìn)程,去除系統(tǒng)的NK.exe、FileSys.exe、GWES.exe、Device.exe、Service.exe、Exporer.exe6個(gè)進(jìn)程外,剩余的26個(gè)對(duì)于一般的嵌入式應(yīng)用是足夠的.但隨著現(xiàn)在網(wǎng)絡(luò)應(yīng)用和分布式應(yīng)用越來越多,就顯得不足了,所以現(xiàn)在的windows CE6.0可以同時(shí)運(yùn)行高達(dá)32000個(gè)進(jìn)程,能夠滿足各種需求.
1.2 虛擬內(nèi)存空間增加.因?yàn)閃indows CE是32位的嵌入式操作系統(tǒng),所以只有4GB的虛擬內(nèi)存地址.在Windows CE5.0里面,虛擬地址又被分為兩個(gè)部分:內(nèi)核部分和用戶部分.用戶部分被分成64個(gè)32MB大小的槽,每個(gè)用戶進(jìn)程同一時(shí)刻只能使用一個(gè)槽,這就對(duì)進(jìn)程造成了限制.如果進(jìn)程過大,就采用共享內(nèi)存空間的辦法,既劃出359M大小的空間讓所有進(jìn)程都可以共享使用.而在Windows CE6.0中,每個(gè)進(jìn)程都可以使用高達(dá)2GB的虛擬內(nèi)存,也就不必存在共享內(nèi)存空間了.
1.3 開發(fā)源代碼.之前,微軟僅開放了windows CE5.0中70%的源代碼.而在發(fā)布Windows CE6.0時(shí),微軟宣傳將開放100%的源代碼,但其實(shí)GUI圖形用戶界面還是不在開放之列,且開放也主要是面對(duì)設(shè)備制造商.
1.4 新的開發(fā)工具.之前,我們可以使用Embedded Visual C++、Embedded Visual Basic和 Visual Studio.net 2003為Windows CE5.0開放應(yīng)用,并使用Platform Builder來對(duì)內(nèi)核進(jìn)行定制.而在Windows CE6.0中,我們可以用Visual Studio 2005開放應(yīng)用,并且Platform Builder也成為Visual Studio 2005中的一個(gè)應(yīng)用,既Platform Builder for CE 6.0.
不同于Windows CE5.0的四層體系結(jié)構(gòu)(硬件、OEM、操作系統(tǒng)、應(yīng)用軟件),Windows CE6.0被劃分為用戶模式和系統(tǒng)模式,并且應(yīng)用程序如果想訪問Windows CE6.0所提供的服務(wù),就必須通過CoreDLL.DLL才能進(jìn)行.通過觀察圖一可以發(fā)現(xiàn),原來Windows CE5.0中的.EXE可執(zhí)行文件大多都變?yōu)榱?DLL模塊,這些模塊都由單獨(dú)的進(jìn)程變?yōu)榱讼到y(tǒng)調(diào)用.
Windows CE要求CPU必須支持兩個(gè)級(jí)別的權(quán)限:高級(jí)別的內(nèi)核模式和低級(jí)別的用戶模式.之前的Windows CE可以配置為完全內(nèi)核模式操作,也可以配置為同時(shí)使用內(nèi)核模式和用戶模式的混合模式,但在Windows CE6.0中,則只支持混合模式,既系統(tǒng)組件將被加載到內(nèi)核模式內(nèi)存中,而應(yīng)用程序?qū)⒈患虞d到用戶模式內(nèi)存中.這樣做的好處是可以降低跨權(quán)限邊界調(diào)用所花費(fèi)的成本,但也增大了系統(tǒng)的映射.Windows CE6.0還把一些關(guān)鍵的文件、圖形管理和驅(qū)動(dòng)程序放到了內(nèi)核中,進(jìn)一步減少了在內(nèi)核模式和用戶模式之間切換所用的時(shí)間.
圖1 Windows Embedded CE 6.0的體系結(jié)構(gòu)
嵌入式設(shè)備根據(jù)用途一般可分為兩類,一類是面向控制、通信等領(lǐng)域且對(duì)實(shí)時(shí)有較高要求的應(yīng)用;另一類是面向消費(fèi)電子產(chǎn)品的非實(shí)時(shí)的應(yīng)用.它們對(duì)硬件和操作系統(tǒng)的需求還是有所不同的,但大都具備如下特點(diǎn):
3.1 資源環(huán)境有限.嵌入式設(shè)備由于使用環(huán)境、成本的限制,處理器、存儲(chǔ)器等硬件資源的性能往往受到很多限制,內(nèi)存、存儲(chǔ)器通常都不能很大,處理器運(yùn)行速度通常也不快.這些條件要求嵌入式操作系統(tǒng)體積必須盡可能地小,對(duì)CPU和內(nèi)存的要求也要盡可能地低.
3.2 硬件平臺(tái)種類繁多.目前常用的嵌入式處理器有數(shù)十種之多,各自都有一些優(yōu)缺點(diǎn)和適用范圍.EOS支持的處理器種類越多,自然應(yīng)用的潛在范圍就越廣.
3.3 低功耗.一些嵌入式設(shè)備也許不用擔(dān)心功耗問題,但大部分,特別是使用電池的設(shè)備卻因?yàn)槭褂贸杀净蛘吖╇姺绞蕉仨毧紤]甚至嚴(yán)格限制功耗,有些甚至要求功率只有mW甚至μW級(jí).
3.4 安全可靠.諸如工業(yè)控制、航空航天等領(lǐng)域都要求嵌入式設(shè)備可以長(zhǎng)期穩(wěn)定、可靠地工作,個(gè)人商務(wù)領(lǐng)域可能還對(duì)隱私保密也提出了要求,有些甚至要求在高溫、高濕度等極其惡劣的環(huán)境下也能正常地工作.
3.5 實(shí)時(shí)能力.部分應(yīng)用會(huì)對(duì)實(shí)時(shí)性提出很高的要求,比如航天、工控領(lǐng)域,這要求操作系統(tǒng)能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核心的執(zhí)行時(shí)間減少到最低限度,從而能快速地對(duì)外界的請(qǐng)求和變化做出迅速地反應(yīng).
3.6 成本低廉.很多嵌入式設(shè)備對(duì)于成本很敏感,如一些售價(jià)只有幾十美元的設(shè)備,增加一美元的成本可能都是無法接受的.因此對(duì)硬件和軟件價(jià)格有嚴(yán)格的限制.
除此之外,某些應(yīng)用可能還會(huì)對(duì)嵌入式設(shè)備提出特殊的要求,如體積、存儲(chǔ)方式、網(wǎng)絡(luò)等.
4.1 WindowsCE是微內(nèi)核操作系統(tǒng),內(nèi)核中只有一些基本服務(wù),其他服務(wù)和功能都放在內(nèi)核外,這樣便于在不同的硬件平臺(tái)上進(jìn)行移植,也可以使系統(tǒng)盡可能小.Windows CE的內(nèi)核其實(shí)是桌面Windows的一個(gè)減基,其包含有超過1400個(gè)的API,可以為客戶提供非常強(qiáng)大的服務(wù),方便開發(fā)商在其基礎(chǔ)上進(jìn)行應(yīng)用開發(fā).這點(diǎn)是其它大多數(shù)EOS都難以比擬的,但付出的代價(jià)就是體積巨大的內(nèi)核.Windows CE內(nèi)核的體積一般也在幾百K,對(duì)處理器和存儲(chǔ)器要求也較高,而其它如μC/OS-II則要小巧的多.但μC/OS-II只是一個(gè)實(shí)時(shí)內(nèi)核,并沒有提供多少API接口供開發(fā)商使用,很多應(yīng)用還需要開發(fā)商自己完成.
4.2 WindowsCE支持嵌套的中斷,這可以讓高優(yōu)先級(jí)的中斷立即被響應(yīng);擁有比較好的線程響應(yīng),中斷服務(wù)線程調(diào)度更加快速;擁有高達(dá)256個(gè)優(yōu)先級(jí)別(μC/OS-II只有64個(gè),嵌入式Linux為100個(gè)),并且還為每個(gè)優(yōu)先級(jí)建立了一個(gè)隊(duì)列,使任務(wù)安排更加靈活.在任務(wù)調(diào)度管理上,Windows CE采用基于動(dòng)態(tài)優(yōu)先級(jí)的時(shí)間輪轉(zhuǎn)算法,這樣的好處是更加靈活,但實(shí)時(shí)性弱于采用靜態(tài)優(yōu)先級(jí)算法的實(shí)時(shí)內(nèi)核,如μC/OS-II.在衡量實(shí)時(shí)性能的主要指標(biāo)(任務(wù)切換時(shí)間、中斷響應(yīng)時(shí)間、任務(wù)搶占時(shí)間和信號(hào)量混洗時(shí)間)上,WindowsCE均強(qiáng)于嵌入式Linux(來源:?jiǎn)纹瑱C(jī)和嵌入式系統(tǒng)雜志,2007-6,《嵌入式操作系統(tǒng)實(shí)時(shí)性比對(duì)與評(píng)價(jià)》,南開大學(xué)李慶誠(chéng)和唐德凱),但弱于μC/OS-II這樣的單一優(yōu)先級(jí)EOS.
4.3 相較其它EOS,Windows CE對(duì)硬件提出更高的要求.Windows CE要求硬件必須有32位的CPU和MMU,和數(shù)MB的RAM,顯然不適用于那些對(duì)硬件配置提出苛刻要求的環(huán)境(如工控、航空航天領(lǐng)域),也不適合一些對(duì)成本提出嚴(yán)格限制的嵌入式應(yīng)用.Windows CE可以支持5系列的CPU:x86,PowerPC,ARM,MIPS,SH3/4,涵蓋了主要的嵌入式CPU,具有很強(qiáng)的適應(yīng)性.
4.4 Windows CE采用license方式收費(fèi),既每個(gè)安裝有Windows CE的產(chǎn)品必須具有一個(gè)license,收費(fèi)根據(jù)版本的不同,在3-20$(和產(chǎn)量有關(guān)系)之間.這種收費(fèi)方式,使的它無法用于一些價(jià)格低廉,競(jìng)爭(zhēng)激烈的產(chǎn)品,比如家用路由器售價(jià)一般就15-25$,即使增加1$的成本,也是難以接受的.
4.5 作為桌面操作系統(tǒng)Windows的繼承者,Windows CE繼承了它的操作簡(jiǎn)易性,其友好的界面使用慣了Windows的用戶可以很快的上手,這個(gè)一直是WindowsCE系列的一大優(yōu)勢(shì).
4.6 微軟的Visual Studio 2005平臺(tái)全面支持Windows CE下的應(yīng)用開發(fā),同時(shí)還包含有大量從桌面Windows繼承來的API,這有助于那些PC機(jī)的開發(fā)者轉(zhuǎn)到嵌入式應(yīng)用上來,意味著廣大的PC機(jī)程序員都可以成為Windows CE的后備開發(fā)者,當(dāng)然也就為豐富Windows CE平臺(tái)下的應(yīng)用提供了基礎(chǔ).
4.7 Windows CE6.0內(nèi)置了Word和Excel,這非常便于我們直接處理PC機(jī)上的Word和Excel文件,而如果使用其它EOS產(chǎn)品,可能就需要先將文件轉(zhuǎn)換為其它可以識(shí)別的格式,才能使用,很不方便.Windows CE 6.0還內(nèi)置了多媒體播放器,我們可以通過Windows media player播放mp3音樂和.avi格式的視頻.
4.8 Windows CE6.0具備了非常出色的通信能力.它支持各種通信硬件、局域網(wǎng)連接和撥號(hào)連接,可以用于各種級(jí)別的數(shù)據(jù)傳輸和設(shè)備之間的連接.
由于WindowsCE6.0對(duì)硬件資源的要求高,并且采用license方式進(jìn)行收費(fèi),所以成本必然較高,不適合嚴(yán)格限制成本的應(yīng)用,而適合高端嵌入式應(yīng)用.WindowsCE6.0的實(shí)時(shí)能力較好,可應(yīng)用于對(duì)實(shí)時(shí)性有一定要求的應(yīng)用領(lǐng)域,如醫(yī)療設(shè)備、工業(yè)控制、全球定位等,微軟還專門針對(duì)GPS接收機(jī)推出價(jià)格的優(yōu)惠.WindowsCE6.0提供的API使得熟悉Windows編程的開發(fā)商很容易地就可以在上面開發(fā)應(yīng)用;用戶熟悉、便于操作的圖形界面,強(qiáng)大的多媒體能力、網(wǎng)絡(luò)功能、通信功能使它很適合用于智能掌上設(shè)備、通訊設(shè)備,但它在功耗控制方面的表現(xiàn)并不出色,使用電池的顧客普遍抱怨電子使用過快.
Windows CE6.0的應(yīng)用可以分為消費(fèi)類電子應(yīng)用和傳統(tǒng)嵌入式應(yīng)用兩大方向.在消費(fèi)類電子領(lǐng)域,Windows CE6.0憑借對(duì) Word、Excel文件的支持、內(nèi)帶的Media Player多媒體軟件、Pocket Internet Explorer瀏覽器等功能,得到了市場(chǎng)的認(rèn)可.使用Windows CE6.0的掌上電腦和智能手機(jī)等移動(dòng)設(shè)備,占據(jù)了全球第二的市場(chǎng)份額.
而在傳統(tǒng)嵌入式應(yīng)用上,基于WindowsCE的嵌入式產(chǎn)品可以滿足工業(yè)、儀器、控制系統(tǒng)領(lǐng)域等穩(wěn)定、經(jīng)濟(jì)的使用要求.如在醫(yī)療領(lǐng)域,程序開發(fā)人員已經(jīng)可以利用VisualStudio.Net開發(fā)工具,開發(fā)基于WindowsCE的患者監(jiān)護(hù)儀、影像設(shè)備、遠(yuǎn)程和本地醫(yī)療診斷設(shè)備等嵌入式產(chǎn)品,在提高醫(yī)院工作效率的同時(shí),極大地方便了患者和醫(yī)生.由于Windows在桌面PC系統(tǒng)上取得的巨大的成就,多數(shù)人都熟悉其良好的操作界面,因此操作人員也非常容易的使用基于WindowsCE的嵌入式產(chǎn)品.WindowsCE正在憑借微軟公司強(qiáng)大的市場(chǎng)營(yíng)銷手段、穩(wěn)定的產(chǎn)品性能和獨(dú)具特色的嵌入式產(chǎn)品,深入到了工業(yè)控制領(lǐng)域,已經(jīng)成為工業(yè)控制領(lǐng)域重要的技術(shù)手段之一.
〔1〕金亮,張學(xué)杰.3種嵌入式操作系統(tǒng)內(nèi)核的關(guān)鍵技術(shù)分析[J].云南大學(xué)學(xué)報(bào),2006,28(S2):1-4.
〔2〕林濤.嵌入式操作系統(tǒng)WindowsCE的研究[J].微計(jì)算機(jī)信息,2006,22(17):91-93.
〔3〕鄧亞明.嵌入式操作系統(tǒng)比較研究[J].中國(guó)高新技術(shù)企業(yè),2008(2):106-109.
〔4〕宋延昭.嵌入式操作系統(tǒng)介紹及選型原則[J].工業(yè)控制計(jì)算機(jī),2005,18(7):41-42.
〔5〕熊江.三種嵌入式操作系統(tǒng)的分析與比較[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(05):61.
〔6〕陳立定,楊俊輝,肖力揚(yáng).三種通用嵌入式操作系統(tǒng)的分析與比較[J].微計(jì)算機(jī)信息,2009,9:89-91.
〔7〕孔軍.嵌入式操作系統(tǒng)實(shí)時(shí)性研究與改進(jìn)[J].黑龍江科技信息,2008(2):38.
TP316
A
1673-260X(2010)06-0046-03
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2010年6期