發展歷史
Windows CE是被設計用來為嵌入式開發者在複雜的嵌入式套用軟體環境中套用。“CE”這個名字的來源已無準確歷史檔案可查。但是微軟內部的人員普遍認為CE中的C代表袖珍(compact)、消費(consumer)、通信能力(connectivity)、伴侶(companion);而E則代表電子產品(electronics)。
1996年11月,微軟正式進入嵌入式市場,並推出Windows CE1.0版本。Windows CE2.X版本中在多個方面內對嵌入式系統進行了顯著的改良,包括了簡單的、基於嚮導的作業系統配置,可導出SDK以進行應用程式開發,支持多媒體等。Windows CE3.0版本中強化了網際網路服務的部分並開始支持實時系統。Windows CE4.0版本中提供了經過時間考驗的並非常多樣化的特性囊括許多最新技術以幫助開發者開發智慧型小型化設備。在 Windows CE.NET4.2取得成功的基礎上,微軟公司在2005年推出了 Windows CE5.0,系統首次支持了Direct3D,這就意味著基於WindowsMobile的手持設備在遊戲和多媒體上有了更大的發展空間。伴隨著移動計算相關技術的不斷進步,以及移動設備套用的日趨廣泛,微軟公司又在2006年推出了Windows CE6.0,這也是目前最新版本的Windows CE。在 Windows CE6.0中,微軟首次提出了ExFAT檔案系統這一概念,在Windows EmbeddedCE6.0中,系統直接支持了802.11i、WAP2、802.11e(無線QoS)、藍牙A2DP/AVRCP的AES加密等,為無線通信建立了一個穩定、安全以及可靠的套用環境。Windows EmbeddedCE6.0還更新了多媒體方面的功能。
Windows CE的結構
Windows CE採用層狀的體系結構,有層次性強、可移植性好、組件化可剪裁、強調編程接口和支持上層套用等特點。其從下而上可分為4層:硬體層、OEM硬體適配層、作業系統服務層和套用層。其結構如下圖所示。
Windows CE硬體層
Windows CE系統所需的最小硬體配置包括 Windows CE支持的32位處理器、用於執行緒調度的實時時鐘、用於存儲運行作業系統的足夠的存儲器。通常,硬體平台應可以支持其他的外設,例如串口、網卡、鍵盤、滑鼠等。對於不同的硬體平台,需要將作業系統移植到系統內,微軟為幾種參考平台提供了完整的CE定製方案。其中基於PC機的參考平台是微軟內部用於開發和測試 Windows CE作業系統的,它可以作為開發 Windows CE應用程式和開發X86設備驅動的參考平台。在微軟Windows CE Platform Builder3.0中包含了CEPC開發平台的系統原代碼。
OEM硬體適配層
OEM硬體適配層界於系統服務層與硬體之間,用來抽象硬體功能,實現作業系統的可移植性。OEM硬體適配層分為OEM抽象層(OAL)和設備驅動開發程式兩部分。OAL部分提供與處理器平台有關的硬體小驅動程式,它與處理器、中斷、記憶體、時鐘和調試口等核心設備相關,用於禁止處理器平台的細節,提供作業系統核心的可移植性。設備驅動程式部分為Windows CE提供設備控制,包括LCD/LED/VGA顯示設備、滑鼠、鍵盤和觸控螢幕、語音處理設備和揚聲器、串口和基於並口的印表機、PC卡接口和 ATA磁碟驅動器或其他存儲卡、Modem卡等。
Windows CE作業系統服務層
Windows CE作業系統服務層包含了4個主要模組:
1、內 核
核心提供進程和執行緒的管理、記憶體管理和中斷處理等系統服務。Windows CE核心借鑑了台式機上 Windows系統的許多優點。如採用輪先執行、多執行緒、多任務和保護模式運行機制,支持本地化統一字元編碼標準,以便實現程式的國際化套用。與台式機上的Windows系統核心不同點在於:Windows CE核心完全採用動態程式庫(DLL)對記憶體的使用進行最最佳化,動態程式庫中的過程被編寫成一種可再入性的代碼,它是允許程式共享公用例程,因此應用程式可以做得很小,它駐留於記憶體的代碼總量可以減少到最低程度。
2、檔案系統的持久存儲
檔案系統支持信息的持久存儲,Windows CE檔案系統的主要特徵是支持信息的持久存貯管理,即對RAM中的存貯的信息進行管理。Windows CE檔案系統支持多達9個檔案分配表,每一個檔案分配表被視為一個存貯卡,為了避免因電源掉電等故障造成的數據丟失,Windows CE檔案系統能跟蹤對檔案分配表的操作,從而實現對數據的恢復。持久存貯的數據類型包括用戶應用程式和數據檔案、資料庫以及系統註冊表。
3、通信系統
Windows CE的通信系統能支持範圍廣泛的數據傳送和接收方式,充分體現了移動計算特性,它能夠完成的通信任務包括:使基於 Windows CE的設備之間交換信息;台式機或網路上下載檔案;傳送和接收電子郵件;向伺服器傳送數據;瀏覽網際網路;閱讀條形碼。為了達到上述不同的通信要求,Windows CE支持兩種基本的通信方式:串列通信和網路通信,如串列電纜、紅外線收發器、無線收發器、數據機和條形碼閱讀器等。
4、圖形、視窗和事件子系統
也稱GWES,它是用戶、應用程式和作業系統之間的圖形用戶接口。用戶的輸入/輸出界面都通過GWES來實現。GWES支持所有視窗、對話框、選單、按鈕和所有包裝Windows CE的用戶接口資源。Windows CE的用戶界面的獨特之處在於它可以使用筆觸式的觸控螢幕來模仿滑鼠器的單擊操作。
套用層
套用層是應用程式的集合,通過Win32 API來獲得作業系統服務。Windows CE同時提供了一個外殼模組,使用戶可以根據自身硬體系統的需要,利用 Windows CEShellAPI開發自己的Shell。例如,在系統中定製自己的軟鍵盤;同時提供對網際網路的開發支持。
Windows CE的特性
1、強大的核心功能
從作業系統核心的角度看,Windows CE具有靈活的電源管理功能,包括睡眠/喚醒模式。在 Windows CE中,還使用了對象存儲技術,包括檔案系統、註冊表及資料庫。它還具有很多高性能、高效率的作業系統特性,包括按需換頁、共享存儲、交叉處理同步、支持大容量堆等。
Windows CE是專門面向嵌入式系統的。它具有專門為實時嵌入套用而設計的、搶先式多任務的作業系統核心,可以燒入ROM,作業系統核心只用500KB的ROM和250KB的RAM。
2、良好的通信能力
Windows CE擁有良好的通信能力。它廣泛支持各種通信硬體,亦支持直接的區域網路連線以及撥號連線,並提供與PC、內部網以及網際網路的連線,包括用於套用級數據傳輸的設備至設備間的連線。在提供各種基本的通信基礎結構的同時,Windows CE還提供與Windows9x/NT的最佳集成和通信。
3、友好的圖形界面功能
Windows CE的圖形用戶界面相當出色。它擁有基於微軟公司的網際網路瀏覽器的網際網路瀏覽器。此外,還支持True Type字型。開發人員可以利用豐富靈活的控制項庫在 Windows CE環境下為嵌入式套用建立各種專門的圖形用戶界面。Windows CE甚至還能支持諸如手寫體和聲音識別、動態影像、3D圖形等特殊套用。
4、易於移植
在嵌入式系統內,使用的處理器的類型要遠遠多於 PC機(X86占了主要部分)。Windows CE的核心幾乎完全是用C語言寫的,因此很容易移植到多種不同的32位微處理器中。Windows CE通過OEM適配層可以調整用於任何硬體平台。OEM適配層是位於核心和硬體之間的底層代碼。這層代碼允許OEM調整 Windows CE到自己的目標平台。
5、與Win32兼容
從編程的角度看,Windows CE所支持的編程界面是大家所熟悉的 Win32API的子集,它支持600多種最常用的Win32API。
6、支持多種開發工具
Windows CE支持的開發工具相對比較豐富,包括Embedded Visual Studio C 和Embedded Visual StudioB、平台構造器(Platform Builder)以及仿真平台等。
7、多種連線方式
Windows CE可以連線到桌式PC進行數據同步,Windows CE支持幾種通信方式包括:串口、並口、網線和紅外線連線埠。Windows CE提供了以下的API實現多種通信方式,例如Win32API用於基本串口通信、TAPI和RAS用於高級串口通信,以及TCP/IP、Winsock API、網路伺服器、WinInet API等。