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