微軟嵌入式操作系統(tǒng)的分析和比對(上)
摘要: 文章介紹了微軟的嵌入式操作系統(tǒng)產(chǎn)品線,分析了WinCE 6.0和.NET Micro framework技術特點。根據(jù)嵌入式系統(tǒng)的要求,還比較了微軟和嵌入式Linux、 VxWorkss的差異和各自特色。
本文引用地址:http://m.butianyuan.cn/article/71261.htm關鍵詞: 嵌入式操作系統(tǒng);WinCE;Windows Mobile;單片機;.NET Micro framework
引言
在嵌入式操作系統(tǒng)領域,微軟的Windows Mobile正在智能手機市場快速增長,“2007 Windows 硬件工程大會”及“2007 移動與嵌入式開發(fā)者大會”的資料顯示,全球55個國家的110個運營商采用Windows Mobile,近50家設備制造商生產(chǎn)了100多款Windows Mobile手機和便攜式設備。微軟的其他嵌入式軟件發(fā)展也非??欤?1%的零售商考慮使用基于Windows Embedded的POS (銷售點)系統(tǒng),2005年有60%的瘦客戶端運行著WinCE。微軟最新發(fā)表的面向單片機的.NET Micro Framework在2006發(fā)布后,今年3月在美國的ESC(嵌入式系統(tǒng)大會)又發(fā)表了一個擴展版本。由此可見,微軟的嵌入式操作系統(tǒng)正在成為商業(yè)嵌入式操作系統(tǒng)的重要選擇。
但是比較起不少已經(jīng)有20多年歷史的老牌嵌入式操作系統(tǒng)公司,微軟還是一個新兵,整個產(chǎn)品線還在發(fā)展和豐富之中。
微軟嵌入式產(chǎn)品發(fā)展歷史
在探討微軟的嵌入式操作系統(tǒng)技術細節(jié)之前,讓我們先了解一下其名稱、相互關系和發(fā)展歷史。微軟從96年發(fā)表WinCE第一個版本,到目前為止,可以看到有兩個主要嵌入式操作系統(tǒng)品牌。其一是針對移動終端的操作系統(tǒng)Windows Mobile,在5.0 版本之前,Windows Mobile分為針對智能手機的版本W(wǎng)indows Mobile for SmartPhone,針對PDA 手機的版本W(wǎng)indows Mobile for Pocket PC Phone,針對PDA 的版本W(wǎng)indows Mobile for Pocket PC。
其二是微軟的嵌入式操作系統(tǒng)平臺Windows Embedded ,這個平臺目前包括微軟核心的嵌入式實時操作系統(tǒng)-Windows CE(簡稱WinCE), 它可以支持各種便攜設備和廣泛的嵌入式應用。嵌入式XP—Windows Embedded XP(簡稱XPE),是模塊化的XP版本,支持各種嵌入式應用。嵌入式POS系統(tǒng)-Windows Embedded for POS(簡稱WEPOS),一個專門為零售終端定制的嵌入式XP版本。
微軟這些嵌入式操作系統(tǒng)里面實際上只有兩個內核,一個是WinCE 內核,包括Windows Mobile也是使用這個內核,目前Windows Mobile 5.0 和6.0版本使用的都是WinCE 5.x 版本的內核。該版本2004年推出,是目前廣泛使用的一個產(chǎn)品。WinCE 目前的最新版本是6.0,2006年底正式發(fā)布。另外一個內核是XPE和WEPOS 使用的Windows XP的核心。
由此可見微軟在嵌入式系統(tǒng)的策略,即WinCE 和Windows Mobile 是具有硬實時的嵌入式操系統(tǒng),目標是移動和通用的嵌入式設備,如手機、導航、PMP、機頂盒、工業(yè)控制設備和醫(yī)療儀器等。Windows Embedded XP 是一個非實時的可以嵌入的操作系統(tǒng),目標是瘦客戶機、零售機器、工廠生產(chǎn)線控制和技術外設存儲和顯示設備。另外,微軟最新推出的.NET Micro Framework是針對微型設備和單片機市場的一個新產(chǎn)品,它補償WinCE不能支持的更小型的嵌入式應用。
微軟嵌入式平臺核心-WinCE 技術特色
WinCE 是一款典型的嵌入式操作系統(tǒng),具有層次化和模塊化的體系結構。WinCE分為硬件、OEM(委托制造)、操作系統(tǒng)和應用軟件四個清晰的層次,硬件層即WinCE 可以支持不同的微處理器和外設,如x86、ARM、XScale 等,OEM層是指引導程序(boot loader)、設備驅動等,操作系統(tǒng)層是內核模塊、圖形模塊、文件和存儲模塊、設備管理和加載系統(tǒng)的服務模塊組成,應用軟件層是WinCE自身的應用軟件,如MS Office、Media Player、IE和第三方應用軟件。應用軟件層和操作系統(tǒng)層有一個Win32 本地API和基于.Net Compact Framework的被管理代碼。
WinCE內核
WinCE 是微內核操作系統(tǒng),這是目前嵌入式操作系統(tǒng)都在使用的先進的內核技術,例如,VxWorks、QNX和最新的L4內核都實現(xiàn)了微內核技術。微內核是指在內核里面只實現(xiàn)一些基本服務,如進程調度、進程間通信和中斷處理等,其他的服務和功能都放在內核外。顯然,微內核的好處是易于移植到不同的處理器和硬件平臺,內核外的服務如設備驅動和文件管理模塊是運行在不同的地址空間,這樣相較于整個系統(tǒng)都是平板結構的實時內核(如uc/os-II、nucleus、threadx)要更加安全和可靠。微內核的核心也非常小巧,一般幾K~幾十K字節(jié)。當然事物永遠是辨正的兩個方面,微內核系統(tǒng)因為要經(jīng)常在內核態(tài)和用戶態(tài)之間轉換,所以系統(tǒng)的某些性能和實時響應能力可能要比平板結構的實時內核要低(不同的性能指標取決于不同的微內核系統(tǒng)的設計)。
同Windows一樣,WinCE每個運行程序都是一個進程,WinCE 5.0 版本支持32個進程,每個進程有32M的虛擬地址空間,WinCE 6.0 則可以支持3.2萬個進程,每個進程有2G的虛擬地址空間。WinCE 是一個基于搶占的多線程操作系統(tǒng)。在線程這一級,WinCE 可以實現(xiàn)類似嵌入式操作系統(tǒng)任務的調度、通訊、同步功能。為了支持可以搶占的硬實時調度,WinCE 已經(jīng)實現(xiàn)了優(yōu)先級反轉機制(priority inversion)。
6.0版本的WinCE內核相較以前的5.0有了很大的改進,重要的一點就是把一部分關鍵文件、圖形管理和驅動程序放到內核里面,好處是減少了模塊在用戶態(tài)和內核態(tài)切換的開銷,還減少了應用程序訪問這些模塊調用的開銷。WinCE 6.0的內核結構見圖1。
圖1 WinCE 6.0的內核結構
WinCE 的BSP
嵌入式操作系統(tǒng)是運行在不同的微處理器上,如手機和移動設備大量使用的ARM體系結構的CPU,市場上有三星ARM2410/2430、TI OMAP730/1710/2430和Marvel XScale體系的PXA270等,除此之外,還有數(shù)字電視、IP機頂盒系統(tǒng)使用的MIPS體系結構,如東芝、博通、IDT等公司的芯片。當然,x86在各種通用嵌入式系統(tǒng)方面也有大量的應用。
微軟的嵌入式操作系統(tǒng)也是使用BSP(Board Support Package)的概念支持各種CPU和硬件平臺的移植工作,在WinCE 5.0里已經(jīng)有包括三星2410、Marvel PXA270等許多流行的BSP,微軟的OEM廠商如研華、飛思卡爾、NXP等也提供他們移植的OEM BSP。WinCE 6.0將會在CE5.0支持ARM V4基礎上支持ARM V6,包括三星、飛思卡爾的ARM11核的SoC都將得到支持。在x86方面,微軟依托在桌面系統(tǒng)的強勢,得到了眾多IPC(工業(yè)PC)和EPC(嵌入式PC)廠家的擁戴和支持。
在BSP結構方面,新的WinCE6.0的內核和OAL是完全獨立的兩個模塊,好處是在修改BSP后,內核不需要重新構建了,減少了多次構建、測試和發(fā)布內核的過程,提高了系統(tǒng)的可靠性。這種結構還可以讓微軟發(fā)布針對OEM的內核,而OEM可以因為自身知識產(chǎn)權的考慮,以二進制方式向最終用戶發(fā)布BSP(如圖2)。WinCE自身包含OEM BSP 定制和發(fā)布工具,這樣OEM可以很方便地發(fā)行自己的BSP SDK包。
圖2 內核和BSP的結構
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux相關文章:linux教程
評論