Windows CE為微軟研發的嵌入式操作系統,可以應用在各種嵌入式系統,或是硬件規格層次較低的計算機系統(例如很少的存儲器,較慢的中央處理器等)。微軟並未定義CE縮寫由來,一般解釋則有Customer Embedded、Compact Edition、Consumer Electronics等等。
概覽
Windows CE 1.0最早於1996年推出,是單色的Windows 95簡化版本。1997年Fall Comdex 大會上公布的Windows CE 2.0仍是基於Win95的操作系統,效率遠高於1.0版。Windows CE 3.0是微軟的Windows Compact Edition,已擺脫舊有的Windows 95簡化格式,是一套全新的操作系統,支持5種 CPU:x86, PowerPC, ARM, MIPS, SH3/4。並且改名為 Windows for Pocket PC,簡稱 Pocket PC。2002年1月微軟又推出Windows CE.Net,即Windows CE 4.0。2004年5月份推出Windows CE 5.0,開放有250萬行源代碼。2006年11月,微軟推出Windows Embedded CE 6.0。
Windows CE可以使用在各式各樣的系統上,最有名的是Pocket PC以及微軟的SmartPhone。其他較不為人知的設備包括微軟的車用計算機、電視機上盒、生產在線的控制設備、公共場所的信息站等等,有些設備甚至沒有任何人機界面。
Windows CE 並非從台式機的Windows(NT,98,XP...)修改縮小而來,而是使用一套完全重新設計的內核,所以它可以在功能非常有限的硬件上運行。雖然內核不同,但是它卻提供了高度的Win32 API軟件開發界面的兼容性,功能有內存管理、文件操作、多線程、網絡功能等。因此,開發台式機軟件的人可以很容易編寫甚或直接移植軟件到Windows CE上。
一個與其他微軟操作系統的差異是 Windows CE 提供源代碼,首先已經提供了源代碼給部分廠商,讓廠商能夠依照他們自己的硬件架構修改源代碼, 例如在 Windows CE 的開發 IDE 軟件 Platform Builder 中就提供了許多開放原碼的常用軟件元件,但是一些與硬件架構的軟件元件仍然以二進制文件形式來提供。
版本
Windows CE 1.0是最早期的版本,非常不穩定,隨著版本不斷的釋出,使得WinCE日趨穩定。
-Windows CE 1.0(Pegasus)
-Windows CE 2.0, 2.11, 2.12(Mercury)
-Windows CE 3.0(Cedar)
-Windows CE .NET(4.0, 4.1, 4.2)(Talisker)
-Windows CE 5.0(Macallan)
-Windows Embedded CE 6.0(Yamazaki)
最新功能
目前最新的Windows CE為Windows CE 6.0,這個版本在內核部分有很大的進步:
-所有系統元件都由EXE改為DLL,並移到 kernel space.
-全新設計的虛擬內存架構
-全新的設備驅動程序架構,同時支持 User Mode 與 Kernel Mode 兩種驅動程序。
-突破只能運行 32 個工作元(process)的限制,可以運行 32768 個工作元。
-每一工作元的的虛擬內存限制由32 M 增加到全系統總虛擬內存。
-Platform Builder IDE 集成到 Microsoft Visual Studio 2005。
-新的安全架構,確保只有被信任的軟件可以在系統中運行。
-UDF 2.5 文件系統。
-支持 802.11i (WPA2)及 802.11e (QoS) 等無線規格,及多重 radio support.
-支持 x86, ARM, SH4, MIPS 等各種處理器。
-提供新的 Cellcore components 使系統在移動電話網絡中更容易建立數據鏈接及激活通話。
在開發環境上,微軟也提供兼容於.NET Framework的開發元件:.NET Compact Framework,讓正在學習.NET或已擁有.NET程序開發技術的開發人員能迅速而順利的在搭載Windows CE .NET系統的設備上開發應用程序。
用於掌上電腦Pocket PC以及智能手機Smart Phone上的Windows CE系統稱為Windows Mobile,目前的最新版本為Windows Mobile 6.1。
開發工具
Windows CE可支持 MFC,ATL,STL,COM,ActiveX,以及 .NET Compact Framework。開發工作可以分為:
這個工具是一個編譯平台(BSP + 操作系統內核)、驅動程序以及應用程序,是一個可以做單部運行的開發環境,也可以用來傳送 SDK 到目標平台再搭配另外一個下面的工具來使用。
這是一個用於開發基於 Windows CE 操作系統嵌入式應用程序的工具,這個工具可以使用由 Platform Builder 輸出的 SDK。
限制
-Windows CE 只支持 UNICODE,故char必須改為TCHAR, WCHAR。
-Windows CE不支持重疊I/O。
-WinCE的許多APIs功能都受限,如:CreateThread 函數在許多參數在Windows CE下都不支持,第1、2、5的參數值必須設為NULL或0。