《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 面向嵌入式應(yīng)用的通用型操作系統(tǒng)Windows CE
面向嵌入式應(yīng)用的通用型操作系統(tǒng)Windows CE
楊 波 張效義
摘要: 從系統(tǒng)模型、內(nèi)存管理、任務(wù)調(diào)度等方面詳細介紹了Windows CE嵌入式操作系統(tǒng),并對其產(chǎn)生、現(xiàn)狀及發(fā)展作了簡要敘述。
關(guān)鍵詞: PowerPC Windows CE .net
Abstract:
Key words :
</a>  下面以Windows CE .NET" title="Windows CE .NET">Windows CE .NET" title="Windows CE .NET">Windows CE .NET" title="Windows CE .NET">Windows CE .NET為例,說明Windows CE的主要特性:

  (1)具有模塊化的可裁剪內(nèi)核結(jié)構(gòu)。

  (2)適應(yīng)小型系統(tǒng),為低成本弱計算能力系統(tǒng)提供簡潔、高效、完善的控制手段。

  (3)遵循Windows平臺的應(yīng)用開發(fā)規(guī)范,提供Win32 API等。

  (4)靈活的內(nèi)存訪問機制,可以使系統(tǒng)中不同類型的應(yīng)用程序充分地使用系統(tǒng)提供的RAM、ROM和閃存,并有選擇地有效利用處理器提供的虛存、保護等功能。

  (5)高效的任務(wù)管理調(diào)度機制——多任務(wù),具有256級優(yōu)先級和動態(tài)優(yōu)先級搶占式調(diào)度的功能。

  (6)支持實時應(yīng)用。

  (7)Windows CE的通信服務(wù)包括:①串行通信,IrDA;②Telephony API(TAPI);③與Windows2000相當?shù)腡CP/IP支持;④Windows Socket;⑤Remote Access Server(RAS);⑥Simple Network Management Protocol(SNMP)代理;⑦Network Driver Interface Specification(NDIS);⑧Dynamic Host Configuration Protocol(DHCP)客戶端;⑨Internet Protocol Helper API,如名字解析、ARP(地址解析協(xié)議)等;⑩Windows Networking CIFS(Common Internet File System)轉(zhuǎn)發(fā)。

  (8)內(nèi)置多媒體功能,具有可擴充的Compact Flash/MMC/SD插槽,通過擴展卡可實現(xiàn)多種功能。

  (9)提供高級電源管理功能。

  此外,Windows CE應(yīng)用程序的集成開發(fā)環(huán)境eMbedded Visual C++擁有強大的開發(fā)和調(diào)試工具。利用其進行應(yīng)用程序的開發(fā),程序可運行于特定的平臺,而不需要編寫額外的代碼,針對特定平臺的代碼轉(zhuǎn)換工作由系統(tǒng)自動完成。

3 Windows CE結(jié)構(gòu)分析

  Windows CE的設(shè)計目標是具有可伸縮性的模塊化結(jié)構(gòu),實時性能好,通信能力強,支持多種CPU。完備的功能需要必備的結(jié)構(gòu)。下面以Windows CE的最新版本W(wǎng)indows CE .NET為例,從系統(tǒng)模型、管理機制等方面對其結(jié)構(gòu)進行分析。

3.1 系統(tǒng)模型

  Windows CE .NET采用典型的系統(tǒng)分層模型,其分層結(jié)構(gòu)模型如圖2所示。

 

 

  由圖2可知,Windows CE .NET操作系統(tǒng)的功能在中間二層得以實現(xiàn),應(yīng)用支持庫的上部和操作系統(tǒng)層的上部(主要是CoreDLL.dll)以及下部具有接口性質(zhì),它們構(gòu)成了Windows CE .NET的應(yīng)用界面和系統(tǒng)界面。從宏觀角度看,系統(tǒng)包括多個軟件實體:CoreDLL、NK、數(shù)據(jù)存儲、設(shè)備管理、圖形用戶界面、網(wǎng)絡(luò)通信等。

  CoreDLL完成外部調(diào)用系統(tǒng)功能的代理,實現(xiàn)系統(tǒng)API函數(shù)的管理和按名調(diào)用。此外,還可調(diào)用一些基本的支持函數(shù),例如字符串處理、隨機數(shù)生成、時間計算等。其運行時表現(xiàn)為CoreDLL.dll。

  NK是Windows CE .NET操作系統(tǒng)的核心,主要完成處理器調(diào)度、內(nèi)存管理、異常處理、系統(tǒng)內(nèi)的通信機制、為其他部分提供核心調(diào)用例程、為系統(tǒng)范圍內(nèi)的調(diào)試提供支持。其運行時表現(xiàn)為NK.exe。

  數(shù)據(jù)存儲提供基本的數(shù)據(jù)存儲能力。其運行時表現(xiàn)為filesys.exe(Memory)。

  設(shè)備管理提供系統(tǒng)范圍內(nèi)基本的設(shè)備列表管理、即插即用管理、電源管理、I/O資源管理并實現(xiàn)設(shè)備驅(qū)動程序得以工作的基本機制。其運行時表現(xiàn)為Device.exe。

  圖形用戶界面提供基本的繪圖引擎、窗口管理、界面的事件機制等。其運行時表現(xiàn)為GWES.exe。

  網(wǎng)絡(luò)通信包括了服務(wù)層、接口層、協(xié)議層和驅(qū)動層。通過系統(tǒng)提供的API,用戶可以很容易地開發(fā)各種網(wǎng)絡(luò)應(yīng)用。

  除此之外,在Windows CE .NET的應(yīng)用界面上還存在一個重要的Win32系統(tǒng)服務(wù)層。Windows CE .NET提供了符合Windows平臺標準的開發(fā)環(huán)境,它實現(xiàn)了Win32 API的一個子集,覆蓋了大部分的Win32功能。該服務(wù)層滿足了Windows CE .NET對應(yīng)用程序提供的接口實現(xiàn)。

3.2 系統(tǒng)管理機制

  Windows CE作為目前掌上電腦的主流操作系統(tǒng),在內(nèi)存管理方面除了采用分配、回收、虛擬映射、調(diào)頁等機制外,為了優(yōu)化頁的使用,系統(tǒng)在虛擬內(nèi)存之上提供了邏輯內(nèi)存管理機制。此外,Windows CE .NET是一個多任務(wù)的操作系統(tǒng),在多任務(wù)調(diào)度方面,為了滿足實時性的要求,Windows CE .NET采用基于動態(tài)優(yōu)先級的搶占式調(diào)度算法,而對于相同優(yōu)先級的任務(wù)采用了時間片輪轉(zhuǎn)調(diào)度的算法。同一優(yōu)先級的時間片輪轉(zhuǎn)調(diào)度算法可作為基于優(yōu)先級的可搶占調(diào)度算法的補充,以完成實時多任務(wù)系統(tǒng)的任務(wù)調(diào)度。

  (1)邏輯內(nèi)存管理

  Windows CE .NET提供了三個層次的內(nèi)存邏輯結(jié)構(gòu),即物理內(nèi)存、虛擬內(nèi)存和邏輯內(nèi)存。Windows CE .NET采用分頁式虛擬內(nèi)存,通過32位的虛擬地址查找頁表,映射到相應(yīng)的ROM或RAM物理地址。為了避免以頁為單位分配回收時造成的空間浪費,Windows CE .NET采用以堆為單位的邏輯內(nèi)存管理機制,應(yīng)用程序可以用比頁小的很多的粒度來申請堆,系統(tǒng)可以根據(jù)應(yīng)用程序的需要自動地增加堆的大小,而釋放空間時,堆的削減也由系統(tǒng)自動完成。

  (2)任務(wù)調(diào)度

  Windows CE .NET采用基于動態(tài)優(yōu)先級的搶占式多任務(wù)機制。越重要的任務(wù)優(yōu)先級越高。

  高優(yōu)先級的任務(wù)最先得到CPU的控制權(quán),保證了實時系統(tǒng)中對時間有嚴格限制的緊急任務(wù)得到更為優(yōu)先的處理。同時優(yōu)先級動態(tài)的調(diào)整,不但增強了系統(tǒng)的靈活性,而且提高了系統(tǒng)的運行效果。采用搶占式的調(diào)度算法使得任務(wù)級響應(yīng)時間達到最優(yōu)化。Windows CE .NET在任務(wù)調(diào)度中采用任務(wù)優(yōu)先級機制、優(yōu)先級動態(tài)調(diào)整機制和搶占式調(diào)度,目的都是為了最大限度地滿足任務(wù)調(diào)度的實時性。

  對于一個優(yōu)先級只有一個任務(wù)的簡單系統(tǒng)內(nèi)核,上述的三種調(diào)度機制足以滿足系統(tǒng)的實時要求。但對于Windows CE .NET這樣復(fù)雜的、高性能的多任務(wù)實時內(nèi)核,由于多個任務(wù)允許共用一個優(yōu)先級,則相同優(yōu)先級間的調(diào)度就要采取Windows CE .NET提供的時間片輪轉(zhuǎn)方法來實現(xiàn)。具體實現(xiàn)如圖3所示。

 

 

  在沒有更高優(yōu)先級任務(wù)就緒時,相同優(yōu)先級的任務(wù)依照就緒的先后次序執(zhí)行。執(zhí)行了一定的時間片后,無論任務(wù)完成與否,均轉(zhuǎn)入下一任務(wù)執(zhí)行,未運行完的任務(wù)釋放處理器的控制權(quán)后轉(zhuǎn)入就緒隊列的末尾,依次往復(fù)。這樣的輪轉(zhuǎn)策略保證了具有相同優(yōu)先級的任務(wù)相對平等地享有處理器的控制權(quán)。在Windows CE系統(tǒng)中,一般設(shè)置的時間片的大小為10ms,它可以通過OEM廠商所開發(fā)的不同硬件進行設(shè)置。

4  Windows CE的應(yīng)用與發(fā)展

  Windows CE操作系統(tǒng)是微軟為了進軍PDA市場而開發(fā)的,其首要的應(yīng)用是在PDA領(lǐng)域。但是作為一款通用性的嵌入式操作系統(tǒng),隨著手機的普及以及掌上電腦與移動通信功能的融合,微軟已進軍無線通信市場,并且在工業(yè)控制領(lǐng)域嶄露頭角?;赪indows CE對多媒體(包括DirectX)、通信(TCP/IP、SNMP及TAPI等)和安全的支持,利用微軟提供的嵌入式軟件開發(fā)環(huán)境,將使Windows CE在娛樂、通信、工業(yè)控制和事務(wù)處理等嵌入應(yīng)用領(lǐng)域中發(fā)揮積極的作用。

  隨著Internet的發(fā)展以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等結(jié)合日益密切,嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來,Windows CE也必將面向網(wǎng)絡(luò)而發(fā)展。為了滿足市場需求的不斷提高,在Windows CE .NET的基礎(chǔ)上微軟發(fā)布了Windows CE .NET4.2版本,其功能特性包括強大的實時技術(shù)手段、網(wǎng)絡(luò)互聯(lián)特性、視頻與音頻編/解碼程序、圖形顯示功能及遠程桌面支持。

  綜上所述,Windows CE .NET將為快速建立下一代智能移動和小內(nèi)存占用的設(shè)備提供一個健壯的實時操作系統(tǒng)。

 

參考文獻

1 陳向群,王雷,馬洪兵等.Windows CE .NET系統(tǒng)分析及實驗教程.北京:機械工業(yè)出版社,2003

2 魏忠,蔡勇,雷紅衛(wèi).嵌入式開發(fā)詳解.北京:電子工業(yè)出版社,2003

3 陳章龍,涂時亮.嵌入式系統(tǒng)-Intel StrongARM結(jié)構(gòu)與開發(fā).北京:北京航天航空大學(xué)出版社,2002

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。