新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 微軟嵌入式操作系統(tǒng)的分析和比對(duì)(上)

微軟嵌入式操作系統(tǒng)的分析和比對(duì)(上)

作者:特約撰稿人 何小慶 時(shí)間:2007-11-11 來(lái)源:電子產(chǎn)品世界 收藏

摘要: 文章介紹了微軟的產(chǎn)品線,分析了 6.0和.NET Micro framework技術(shù)特點(diǎn)。根據(jù)的要求,還比較了微軟和嵌入式Linux、 VxWorkss的差異和各自特色。

本文引用地址:http://www.butianyuan.cn/article/71261.htm

  關(guān)鍵詞;; Mobile;;.NET Micro framework

引言

  在領(lǐng)域,微軟的 Mobile正在智能手機(jī)市場(chǎng)快速增長(zhǎng),“2007 硬件工程大會(huì)”及“2007 移動(dòng)與嵌入式開(kāi)發(fā)者大會(huì)”的資料顯示,全球55個(gè)國(guó)家的110個(gè)運(yùn)營(yíng)商采用Windows Mobile,近50家設(shè)備制造商生產(chǎn)了100多款Windows Mobile手機(jī)和便攜式設(shè)備。微軟的其他嵌入式軟件發(fā)展也非常快,51%的零售商考慮使用基于Windows Embedded的POS (銷售點(diǎn))系統(tǒng),2005年有60%的瘦客戶端運(yùn)行著。微軟最新發(fā)表的面向的.NET Micro Framework在2006發(fā)布后,今年3月在美國(guó)的ESC(大會(huì))又發(fā)表了一個(gè)擴(kuò)展版本。由此可見(jiàn),微軟的嵌入式操作系統(tǒng)正在成為商業(yè)嵌入式操作系統(tǒng)的重要選擇。

  但是比較起不少已經(jīng)有20多年歷史的老牌嵌入式操作系統(tǒng)公司,微軟還是一個(gè)新兵,整個(gè)產(chǎn)品線還在發(fā)展和豐富之中。

  微軟嵌入式產(chǎn)品發(fā)展歷史

  在探討微軟的嵌入式操作系統(tǒng)技術(shù)細(xì)節(jié)之前,讓我們先了解一下其名稱、相互關(guān)系和發(fā)展歷史。微軟從96年發(fā)表WinCE第一個(gè)版本,到目前為止,可以看到有兩個(gè)主要嵌入式操作系統(tǒng)品牌。其一是針對(duì)移動(dòng)終端的操作系統(tǒng)Windows Mobile,在5.0 版本之前,Windows Mobile分為針對(duì)智能手機(jī)的版本W(wǎng)indows Mobile for SmartPhone,針對(duì)PDA 手機(jī)的版本W(wǎng)indows Mobile for Pocket PC Phone,針對(duì)PDA 的版本W(wǎng)indows Mobile for Pocket PC。

  其二是微軟的嵌入式操作系統(tǒng)平臺(tái)Windows Embedded ,這個(gè)平臺(tái)目前包括微軟核心的嵌入式實(shí)時(shí)操作系統(tǒng)-Windows CE(簡(jiǎn)稱WinCE), 它可以支持各種便攜設(shè)備和廣泛的嵌入式應(yīng)用。嵌入式XP—Windows Embedded XP(簡(jiǎn)稱XPE),是模塊化的XP版本,支持各種嵌入式應(yīng)用。嵌入式POS系統(tǒng)-Windows Embedded for POS(簡(jiǎn)稱WEPOS),一個(gè)專門為零售終端定制的嵌入式XP版本。

  微軟這些嵌入式操作系統(tǒng)里面實(shí)際上只有兩個(gè)內(nèi)核,一個(gè)是WinCE 內(nèi)核,包括Windows Mobile也是使用這個(gè)內(nèi)核,目前Windows Mobile 5.0 和6.0版本使用的都是WinCE 5.x 版本的內(nèi)核。該版本2004年推出,是目前廣泛使用的一個(gè)產(chǎn)品。WinCE 目前的最新版本是6.0,2006年底正式發(fā)布。另外一個(gè)內(nèi)核是XPE和WEPOS 使用的Windows XP的核心。

  由此可見(jiàn)微軟在的策略,即WinCE 和Windows Mobile 是具有硬實(shí)時(shí)的嵌入式操系統(tǒng),目標(biāo)是移動(dòng)和通用的嵌入式設(shè)備,如手機(jī)、導(dǎo)航、PMP、機(jī)頂盒、工業(yè)控制設(shè)備和醫(yī)療儀器等。Windows Embedded XP 是一個(gè)非實(shí)時(shí)的可以嵌入的操作系統(tǒng),目標(biāo)是瘦客戶機(jī)、零售機(jī)器、工廠生產(chǎn)線控制和技術(shù)外設(shè)存儲(chǔ)和顯示設(shè)備。另外,微軟最新推出的.NET Micro Framework是針對(duì)微型設(shè)備和市場(chǎng)的一個(gè)新產(chǎn)品,它補(bǔ)償WinCE不能支持的更小型的嵌入式應(yīng)用。

 微軟嵌入式平臺(tái)核心-WinCE 技術(shù)特色

  WinCE 是一款典型的嵌入式操作系統(tǒng),具有層次化和模塊化的體系結(jié)構(gòu)。WinCE分為硬件、OEM(委托制造)、操作系統(tǒng)和應(yīng)用軟件四個(gè)清晰的層次,硬件層即WinCE 可以支持不同的微處理器和外設(shè),如x86、ARM、XScale 等,OEM層是指引導(dǎo)程序(boot loader)、設(shè)備驅(qū)動(dòng)等,操作系統(tǒng)層是內(nèi)核模塊、圖形模塊、文件和存儲(chǔ)模塊、設(shè)備管理和加載系統(tǒng)的服務(wù)模塊組成,應(yīng)用軟件層是WinCE自身的應(yīng)用軟件,如MS Office、Media Player、IE和第三方應(yīng)用軟件。應(yīng)用軟件層和操作系統(tǒng)層有一個(gè)Win32 本地API和基于.Net Compact Framework的被管理代碼。

  WinCE內(nèi)核

  WinCE 是微內(nèi)核操作系統(tǒng),這是目前嵌入式操作系統(tǒng)都在使用的先進(jìn)的內(nèi)核技術(shù),例如,VxWorks、QNX和最新的L4內(nèi)核都實(shí)現(xiàn)了微內(nèi)核技術(shù)。微內(nèi)核是指在內(nèi)核里面只實(shí)現(xiàn)一些基本服務(wù),如進(jìn)程調(diào)度、進(jìn)程間通信和中斷處理等,其他的服務(wù)和功能都放在內(nèi)核外。顯然,微內(nèi)核的好處是易于移植到不同的處理器和硬件平臺(tái),內(nèi)核外的服務(wù)如設(shè)備驅(qū)動(dòng)和文件管理模塊是運(yùn)行在不同的地址空間,這樣相較于整個(gè)系統(tǒng)都是平板結(jié)構(gòu)的實(shí)時(shí)內(nèi)核(如uc/os-II、nucleus、threadx)要更加安全和可靠。微內(nèi)核的核心也非常小巧,一般幾K~幾十K字節(jié)。當(dāng)然事物永遠(yuǎn)是辨正的兩個(gè)方面,微內(nèi)核系統(tǒng)因?yàn)橐?jīng)常在內(nèi)核態(tài)和用戶態(tài)之間轉(zhuǎn)換,所以系統(tǒng)的某些性能和實(shí)時(shí)響應(yīng)能力可能要比平板結(jié)構(gòu)的實(shí)時(shí)內(nèi)核要低(不同的性能指標(biāo)取決于不同的微內(nèi)核系統(tǒng)的設(shè)計(jì))。

  同Windows一樣,WinCE每個(gè)運(yùn)行程序都是一個(gè)進(jìn)程,WinCE 5.0 版本支持32個(gè)進(jìn)程,每個(gè)進(jìn)程有32M的虛擬地址空間,WinCE 6.0 則可以支持3.2萬(wàn)個(gè)進(jìn)程,每個(gè)進(jìn)程有2G的虛擬地址空間。WinCE 是一個(gè)基于搶占的多線程操作系統(tǒng)。在線程這一級(jí),WinCE 可以實(shí)現(xiàn)類似嵌入式操作系統(tǒng)任務(wù)的調(diào)度、通訊、同步功能。為了支持可以搶占的硬實(shí)時(shí)調(diào)度,WinCE 已經(jīng)實(shí)現(xiàn)了優(yōu)先級(jí)反轉(zhuǎn)機(jī)制(priority inversion)。

  6.0版本的WinCE內(nèi)核相較以前的5.0有了很大的改進(jìn),重要的一點(diǎn)就是把一部分關(guān)鍵文件、圖形管理和驅(qū)動(dòng)程序放到內(nèi)核里面,好處是減少了模塊在用戶態(tài)和內(nèi)核態(tài)切換的開(kāi)銷,還減少了應(yīng)用程序訪問(wèn)這些模塊調(diào)用的開(kāi)銷。WinCE 6.0的內(nèi)核結(jié)構(gòu)見(jiàn)圖1。

圖1 WinCE 6.0的內(nèi)核結(jié)構(gòu)

WinCE 的BSP

  嵌入式操作系統(tǒng)是運(yùn)行在不同的微處理器上,如手機(jī)和移動(dòng)設(shè)備大量使用的ARM體系結(jié)構(gòu)的CPU,市場(chǎng)上有三星ARM2410/2430、TI OMAP730/1710/2430和Marvel XScale體系的PXA270等,除此之外,還有數(shù)字電視、IP機(jī)頂盒系統(tǒng)使用的MIPS體系結(jié)構(gòu),如東芝、博通、IDT等公司的芯片。當(dāng)然,x86在各種通用嵌入式系統(tǒng)方面也有大量的應(yīng)用。

  微軟的嵌入式操作系統(tǒng)也是使用BSP(Board Support Package)的概念支持各種CPU和硬件平臺(tái)的移植工作,在WinCE 5.0里已經(jīng)有包括三星2410、Marvel PXA270等許多流行的BSP,微軟的OEM廠商如研華、飛思卡爾、NXP等也提供他們移植的OEM BSP。WinCE 6.0將會(huì)在CE5.0支持ARM V4基礎(chǔ)上支持ARM V6,包括三星、飛思卡爾的ARM11核的SoC都將得到支持。在x86方面,微軟依托在桌面系統(tǒng)的強(qiáng)勢(shì),得到了眾多IPC(工業(yè)PC)和EPC(嵌入式PC)廠家的擁戴和支持。

  在BSP結(jié)構(gòu)方面,新的WinCE6.0的內(nèi)核和OAL是完全獨(dú)立的兩個(gè)模塊,好處是在修改BSP后,內(nèi)核不需要重新構(gòu)建了,減少了多次構(gòu)建、測(cè)試和發(fā)布內(nèi)核的過(guò)程,提高了系統(tǒng)的可靠性。這種結(jié)構(gòu)還可以讓微軟發(fā)布針對(duì)OEM的內(nèi)核,而OEM可以因?yàn)樽陨碇R(shí)產(chǎn)權(quán)的考慮,以二進(jìn)制方式向最終用戶發(fā)布BSP(如圖2)。WinCE自身包含OEM BSP 定制和發(fā)布工具,這樣OEM可以很方便地發(fā)行自己的BSP SDK包。

圖2 內(nèi)核和BSP的結(jié)構(gòu)

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉