沈 林
(莆田學院 電子信息工程學系,福建 莆田 351100)
Windows CE6.0的新特性分析和應用前景
沈 林
(莆田學院 電子信息工程學系,福建 莆田 351100)
微軟開發出Windows CE系列希望能在嵌入式應用取得像桌面Windows那樣的地位,但嵌入式應用的需求千差萬別,微軟也沒有獲得在PC機上那樣的霸主地位,所以需要討論下嵌入式應用的需求、Windows CE的特性來分析Windows CE的應用前景.
嵌入式操作系統;WindowsCE6.0;特性;應用前景
隨著嵌入式應用的工控、監測、航空航天、通信等方面的蓬勃發展,越來越多的企業投入了相關產品的研發,而對于嵌入式應用很重要的嵌入式操作系統(EOS),自然也是各個廠商的重點.在PC操作系統領域占據霸主地位微軟自然不會放過這個市場,也在嵌入式操作系統領域推出了多種產品,其中的Windows CE系列就是它的主打產品.但是嵌入式應用的一大特點就是專用性強、針對性強,這使得只要是有一技之長的EOS都有自己的用武之地,Windows CE系列也只能占據一部分市場.下面通過討論Windows CE系列的特點,來研究其適用的領域及應用的前景.
Windows CE是一種具有搶先式多任務功能與強大通信能力的嵌入式操作系統.最早的Windows CE 1.0誕生于1996年,是微軟專門為掌上智能設備開發的操作系統,不過并不成功.直到2000年推出Windows CE 3.0,才真正獲得市場的承認.現在最新的版本為2006年推出的Windows Embedded CE6.0.Windows CE一開始只是一個針對掌上智能設備開發的嵌入式操作系統,但從3.0開始,可以廣泛的應用在各種硬件設備上.Windows CE還有一個分支——Windows Mobile,用于智能手機和其它掌上設備,只支持ARM平臺.
Windows CE6.0是一款32位的多任務操作系統,支持多任務搶占、硬實時,支持的處理器有:ARM,x86,SH4,MIPS等.相較于以往的Windows CE,Windows CE6.0在以下方面進行了改進:
1.1 進程數增加.在Windows CE5.0及之前的版本中,最多只能同時運行32個進程,去除系統的NK.exe、FileSys.exe、GWES.exe、Device.exe、Service.exe、Exporer.exe6個進程外,剩余的26個對于一般的嵌入式應用是足夠的.但隨著現在網絡應用和分布式應用越來越多,就顯得不足了,所以現在的windows CE6.0可以同時運行高達32000個進程,能夠滿足各種需求.
1.2 虛擬內存空間增加.因為Windows CE是32位的嵌入式操作系統,所以只有4GB的虛擬內存地址.在Windows CE5.0里面,虛擬地址又被分為兩個部分:內核部分和用戶部分.用戶部分被分成64個32MB大小的槽,每個用戶進程同一時刻只能使用一個槽,這就對進程造成了限制.如果進程過大,就采用共享內存空間的辦法,既劃出359M大小的空間讓所有進程都可以共享使用.而在Windows CE6.0中,每個進程都可以使用高達2GB的虛擬內存,也就不必存在共享內存空間了.
1.3 開發源代碼.之前,微軟僅開放了windows CE5.0中70%的源代碼.而在發布Windows CE6.0時,微軟宣傳將開放100%的源代碼,但其實GUI圖形用戶界面還是不在開放之列,且開放也主要是面對設備制造商.
1.4 新的開發工具.之前,我們可以使用Embedded Visual C++、Embedded Visual Basic和 Visual Studio.net 2003為Windows CE5.0開放應用,并使用Platform Builder來對內核進行定制.而在Windows CE6.0中,我們可以用Visual Studio 2005開放應用,并且Platform Builder也成為Visual Studio 2005中的一個應用,既Platform Builder for CE 6.0.
不同于Windows CE5.0的四層體系結構(硬件、OEM、操作系統、應用軟件),Windows CE6.0被劃分為用戶模式和系統模式,并且應用程序如果想訪問Windows CE6.0所提供的服務,就必須通過CoreDLL.DLL才能進行.通過觀察圖一可以發現,原來Windows CE5.0中的.EXE可執行文件大多都變為了.DLL模塊,這些模塊都由單獨的進程變為了系統調用.
Windows CE要求CPU必須支持兩個級別的權限:高級別的內核模式和低級別的用戶模式.之前的Windows CE可以配置為完全內核模式操作,也可以配置為同時使用內核模式和用戶模式的混合模式,但在Windows CE6.0中,則只支持混合模式,既系統組件將被加載到內核模式內存中,而應用程序將被加載到用戶模式內存中.這樣做的好處是可以降低跨權限邊界調用所花費的成本,但也增大了系統的映射.Windows CE6.0還把一些關鍵的文件、圖形管理和驅動程序放到了內核中,進一步減少了在內核模式和用戶模式之間切換所用的時間.

圖1 Windows Embedded CE 6.0的體系結構
嵌入式設備根據用途一般可分為兩類,一類是面向控制、通信等領域且對實時有較高要求的應用;另一類是面向消費電子產品的非實時的應用.它們對硬件和操作系統的需求還是有所不同的,但大都具備如下特點:
3.1 資源環境有限.嵌入式設備由于使用環境、成本的限制,處理器、存儲器等硬件資源的性能往往受到很多限制,內存、存儲器通常都不能很大,處理器運行速度通常也不快.這些條件要求嵌入式操作系統體積必須盡可能地小,對CPU和內存的要求也要盡可能地低.
3.2 硬件平臺種類繁多.目前常用的嵌入式處理器有數十種之多,各自都有一些優缺點和適用范圍.EOS支持的處理器種類越多,自然應用的潛在范圍就越廣.
3.3 低功耗.一些嵌入式設備也許不用擔心功耗問題,但大部分,特別是使用電池的設備卻因為使用成本或者供電方式而必須考慮甚至嚴格限制功耗,有些甚至要求功率只有mW甚至μW級.
3.4 安全可靠.諸如工業控制、航空航天等領域都要求嵌入式設備可以長期穩定、可靠地工作,個人商務領域可能還對隱私保密也提出了要求,有些甚至要求在高溫、高濕度等極其惡劣的環境下也能正常地工作.
3.5 實時能力.部分應用會對實時性提出很高的要求,比如航天、工控領域,這要求操作系統能完成多任務并且有較短的中斷響應時間,使內部的代碼和實時內核心的執行時間減少到最低限度,從而能快速地對外界的請求和變化做出迅速地反應.
3.6 成本低廉.很多嵌入式設備對于成本很敏感,如一些售價只有幾十美元的設備,增加一美元的成本可能都是無法接受的.因此對硬件和軟件價格有嚴格的限制.
除此之外,某些應用可能還會對嵌入式設備提出特殊的要求,如體積、存儲方式、網絡等.
4.1 WindowsCE是微內核操作系統,內核中只有一些基本服務,其他服務和功能都放在內核外,這樣便于在不同的硬件平臺上進行移植,也可以使系統盡可能小.Windows CE的內核其實是桌面Windows的一個減基,其包含有超過1400個的API,可以為客戶提供非常強大的服務,方便開發商在其基礎上進行應用開發.這點是其它大多數EOS都難以比擬的,但付出的代價就是體積巨大的內核.Windows CE內核的體積一般也在幾百K,對處理器和存儲器要求也較高,而其它如μC/OS-II則要小巧的多.但μC/OS-II只是一個實時內核,并沒有提供多少API接口供開發商使用,很多應用還需要開發商自己完成.
4.2 WindowsCE支持嵌套的中斷,這可以讓高優先級的中斷立即被響應;擁有比較好的線程響應,中斷服務線程調度更加快速;擁有高達256個優先級別(μC/OS-II只有64個,嵌入式Linux為100個),并且還為每個優先級建立了一個隊列,使任務安排更加靈活.在任務調度管理上,Windows CE采用基于動態優先級的時間輪轉算法,這樣的好處是更加靈活,但實時性弱于采用靜態優先級算法的實時內核,如μC/OS-II.在衡量實時性能的主要指標(任務切換時間、中斷響應時間、任務搶占時間和信號量混洗時間)上,WindowsCE均強于嵌入式Linux(來源:單片機和嵌入式系統雜志,2007-6,《嵌入式操作系統實時性比對與評價》,南開大學李慶誠和唐德凱),但弱于μC/OS-II這樣的單一優先級EOS.
4.3 相較其它EOS,Windows CE對硬件提出更高的要求.Windows CE要求硬件必須有32位的CPU和MMU,和數MB的RAM,顯然不適用于那些對硬件配置提出苛刻要求的環境(如工控、航空航天領域),也不適合一些對成本提出嚴格限制的嵌入式應用.Windows CE可以支持5系列的CPU:x86,PowerPC,ARM,MIPS,SH3/4,涵蓋了主要的嵌入式CPU,具有很強的適應性.
4.4 Windows CE采用license方式收費,既每個安裝有Windows CE的產品必須具有一個license,收費根據版本的不同,在3-20$(和產量有關系)之間.這種收費方式,使的它無法用于一些價格低廉,競爭激烈的產品,比如家用路由器售價一般就15-25$,即使增加1$的成本,也是難以接受的.
4.5 作為桌面操作系統Windows的繼承者,Windows CE繼承了它的操作簡易性,其友好的界面使用慣了Windows的用戶可以很快的上手,這個一直是WindowsCE系列的一大優勢.
4.6 微軟的Visual Studio 2005平臺全面支持Windows CE下的應用開發,同時還包含有大量從桌面Windows繼承來的API,這有助于那些PC機的開發者轉到嵌入式應用上來,意味著廣大的PC機程序員都可以成為Windows CE的后備開發者,當然也就為豐富Windows CE平臺下的應用提供了基礎.
4.7 Windows CE6.0內置了Word和Excel,這非常便于我們直接處理PC機上的Word和Excel文件,而如果使用其它EOS產品,可能就需要先將文件轉換為其它可以識別的格式,才能使用,很不方便.Windows CE 6.0還內置了多媒體播放器,我們可以通過Windows media player播放mp3音樂和.avi格式的視頻.
4.8 Windows CE6.0具備了非常出色的通信能力.它支持各種通信硬件、局域網連接和撥號連接,可以用于各種級別的數據傳輸和設備之間的連接.
由于WindowsCE6.0對硬件資源的要求高,并且采用license方式進行收費,所以成本必然較高,不適合嚴格限制成本的應用,而適合高端嵌入式應用.WindowsCE6.0的實時能力較好,可應用于對實時性有一定要求的應用領域,如醫療設備、工業控制、全球定位等,微軟還專門針對GPS接收機推出價格的優惠.WindowsCE6.0提供的API使得熟悉Windows編程的開發商很容易地就可以在上面開發應用;用戶熟悉、便于操作的圖形界面,強大的多媒體能力、網絡功能、通信功能使它很適合用于智能掌上設備、通訊設備,但它在功耗控制方面的表現并不出色,使用電池的顧客普遍抱怨電子使用過快.
Windows CE6.0的應用可以分為消費類電子應用和傳統嵌入式應用兩大方向.在消費類電子領域,Windows CE6.0憑借對 Word、Excel文件的支持、內帶的Media Player多媒體軟件、Pocket Internet Explorer瀏覽器等功能,得到了市場的認可.使用Windows CE6.0的掌上電腦和智能手機等移動設備,占據了全球第二的市場份額.
而在傳統嵌入式應用上,基于WindowsCE的嵌入式產品可以滿足工業、儀器、控制系統領域等穩定、經濟的使用要求.如在醫療領域,程序開發人員已經可以利用VisualStudio.Net開發工具,開發基于WindowsCE的患者監護儀、影像設備、遠程和本地醫療診斷設備等嵌入式產品,在提高醫院工作效率的同時,極大地方便了患者和醫生.由于Windows在桌面PC系統上取得的巨大的成就,多數人都熟悉其良好的操作界面,因此操作人員也非常容易的使用基于WindowsCE的嵌入式產品.WindowsCE正在憑借微軟公司強大的市場營銷手段、穩定的產品性能和獨具特色的嵌入式產品,深入到了工業控制領域,已經成為工業控制領域重要的技術手段之一.
〔1〕金亮,張學杰.3種嵌入式操作系統內核的關鍵技術分析[J].云南大學學報,2006,28(S2):1-4.
〔2〕林濤.嵌入式操作系統WindowsCE的研究[J].微計算機信息,2006,22(17):91-93.
〔3〕鄧亞明.嵌入式操作系統比較研究[J].中國高新技術企業,2008(2):106-109.
〔4〕宋延昭.嵌入式操作系統介紹及選型原則[J].工業控制計算機,2005,18(7):41-42.
〔5〕熊江.三種嵌入式操作系統的分析與比較[J].單片機與嵌入式系統應用,2003(05):61.
〔6〕陳立定,楊俊輝,肖力揚.三種通用嵌入式操作系統的分析與比較[J].微計算機信息,2009,9:89-91.
〔7〕孔軍.嵌入式操作系統實時性研究與改進[J].黑龍江科技信息,2008(2):38.
TP316
A
1673-260X(2010)06-0046-03