MicrosoftWindowsCE(全名為WindowsEmbeddedCompact,曾被稱為WindowsEmbeddedCE,簡稱為WinCE)),為微軟研發的嵌入式作業系統,可以套用在各種嵌入式系統,或是硬體規格較低的電腦系統(例如很少的存儲器,較慢的中央處理器等)。微軟並未定義CE縮寫由來,一般解釋則有CompactEdition、CustomerEmbedded、ConsumerElectronics等等。在2008年4月15日舉行的嵌入式系統大會上,微軟宣布將WindowsEmbeddedCE系列更名為WindowsEmbeddedCompact,與WindowsEmbeddedEnterprise、WindowsEmbeddedStandard和WindowsEmbeddedPOSReady組成Win
概覽
WindowsCE1.0最早於1996年推出,是單色的Windows95簡化版本。
1997年FallComdex大會上公布的WindowsCE2.0仍是基於Win95的作業系統,效率遠高於1.0版。
WindowsCE3.0是微軟的WindowsCompactEdition,已擺脫舊有的Windows95簡化格式,是一套全新的作業系統,支持5種CPU:x86、PowerPC、ARM、MIPS、SH3/4。並且改名為WindowsforPocketPC,簡稱PocketPC。
2002年1月微軟又推出WindowsCE.Net,即WindowsCE4.0。
2004年5月份推出WindowsCE5.0,開放有250萬行原始碼。
2006年11月,微軟推出WindowsEmbeddedCE6.0。
2010年10月,微軟推出WindowsPhone7,WindowsEmbeddedCompact7。
WindowsCE可以使用在各式各樣的系統上,最有名的是PocketPC以及微軟的SmartPhone。其他較不為人知的設備包括微軟的車用電腦、機上盒、生產在線上的控制設備、公共場所的信息站(Kiosk)、電子辭典及導航儀等等,有些設備甚至沒有任何人機界面。
WindowsCE並非從台式機的Windows(NT,98,XP...)修改縮小而來,而是使用一套完全重新設計的核心,所以它可以在功能非常有限的硬體上運行。雖然核心不同,但是它卻提供了高度的Win32API軟體開發接口的兼容性,功能有記憶體管理、文檔操作、多執行緒、網路功能等。因此,開發台式機軟體的人可以很容易編寫甚或直接移植軟體到WindowsCE上。
一個與其他微軟作業系統的差異是WindowsCE提供原始碼,首先已經提供了原始碼給部分廠商,讓廠商能夠依照他們自己的硬體架構修改原始碼,例如在WindowsCE的開發IDE軟體PlatformBuilder中就提供了許多開放原碼的常用軟體組件,但是一些與硬體架構的軟體組件仍然以二進制檔案形式來提供。
[編輯]版本
版本 改動
1.0 發布於1996年11月[MSCE1]。[3]代號Pegasus。[4]
使用該OS的設備被命名為“handheldPC”〈HPC〉。[3]
2.0 發布於1997年9月[MSCE2]。[3]代號Mercury/gryphon/Apollo/alder/AlderEP/Birch/BirchSP2/Jupiter/WYVERN/Goldeneye。[4]
以Palm-sizedPC/PocketPC為名的設備出現。[3]
實時調度算法。
支持系統架構:ARM,MIPS,PowerPC,StrongARM,SuperH及x86。
32-bit彩色螢幕。
SSL2.0及SSL3.0。
3.0 發布於2000年六月[MSCE3]。[3]代號Cedar。[4]
針對核心進行重寫使CE的實時性推進至微秒層級。[5]
PocketPC2000,PocketPC2002及Smartphone2002的基礎。[3]
優先權數從8增加至256。[3]
系統對象數從65536增加至4億1900多萬。[3]
使用特殊的APIs對系統進行訪問,對註冊表的寫操作也被限制在部分區域。[3]
4.x 發布於2002年1月。[MSCE4]。[3]代號Talisker/Jameson/McKendric。[4]
更改部分驅動結構並增加新功能。[5]
以"PocketPC2003"為基礎。[3]
提供藍牙支持。[3][6]
支持TLS(SSL3.1),IPsecL2TPVPN、Kerberos。[3]
5.0 發布於2004年8月。[4]新增了許多功能。[5]代號"Macallan".[4]
自動向生產商傳送錯誤報告。[7]
移動式Direct3D,一個基於COM的WindowsXPDirectX多媒體API版本。[7]
2D圖形DirectDraw和攝像頭與影片的DirectShow數位化支持。[7]
支持RemoteDesktopProtocol(RDP)。[8]
6.x 發布於2006年9月。代號"Yamazaki".[4]
進程地址空間從32MB增加至1GB
進程數目從32增加至768[9]
可以使用用戶模式和核心模式的設備驅動。
Device.exe,filesys.exe,GWES.exe被轉移至核心模式中。
SetKModeandsetprocesspermissionsnotpossible.
增強系統調用的性能。[10]
7.x 7.0發布於2010年10月。7.5發布於2011年9月
詳見WindowsPhone7
雙核心處理器支持(SMP、ARMv6)
WIFI定位系統
藍牙3.0+HS
Cellcore
DLNA(數字生活網路聯盟)
數字著作權管理
媒體傳輸協定
IE8RenderingRichMediaPlug-Ins
NDIS6.1支持
UXC++XAMLAPI如使如WindowsPresentationFoundation和Silverlight的用戶界面
更佳觸摸和手勢輸入
CEv3.0是PocketPC2002的基礎.CEv3.0的下代為CE.net.[3]"PocketPC[是]核心WindowsCEOS上的一整層程式...PocketPC以WindowsCE為基礎,但分發的方式不太一樣.".PocketPC的使用證書禁止修改WinCE的程式.[11]
[編輯]最新功能
目前最新的WindowsCE為WindowsCE7.0,這個版本在核心部分有很大的進步:詳見WindowsPhone7
雙核心處理器支持(SMP、ARMv6)
WIFI定位系統
藍牙3.0+HS
Cellcore
DLNA(數字生活網路聯盟)
數字著作權管理
媒體傳輸協定
IE8RenderingRichMediaPlug-Ins
NDIS6.1支持
UXC++XAMLAPI如使如WindowsPresentationFoundation和Silverlight的用戶界面
更佳觸摸和手勢輸入
在開發環境上,微軟也提供兼容於.NETFramework的開發組件:.NETCompactFramework,讓正在學習.NET或已擁有.NET程式開發技術的開發人員能迅速而順利的在搭載WindowsCE.NET系統的設備上開發應用程式。
用於掌上電腦PocketPC以及智慧型手機SmartPhone上的WindowsCE系統稱為WindowsMobile,目前成熟的最新版本為WindowsPhone7.5。
在2009年10月6日,WindowsMobile亦正式改名為WindowsPhone.
[編輯]開發工具
WindowsCE可支持MFC,ATL,STL,COM,ActiveX,以及.NETCompactFramework。開發工作可以分為:
PlatformBuilder:這個工具是一個編譯平台(BSP+作業系統核心)、驅動程式以及應用程式,是一個可以做單部運行的開發環境,也可以用來傳送SDK到目標平台再搭配另外一個下面的工具來使用。
FreePascalandLazarus:版本2.2.0以後的FreePascal都有WindowsCE支持(包括ARM和x86)。隨後,WindowsCE頭檔案也被翻譯,供Lazarus(一個基於FreePascal的快速套用開發(RAD)軟體包)使用。用戶可以使用LazarusIDE來設計WindowsCE應用程式,並通過交叉編譯器(cross-compiler)生成用於WindowsCE的執行檔。
EmbeddedVisualC++(eVC)這是一個用於開發基於WindowsCE作業系統嵌入式應用程式的工具,這個工具可以使用由PlatformBuilder輸出的SDK。
VisualC++2005/2008/2010其中PlatformBuilder6.0forWindowsEmbeddedCE被改寫成VisualStudio2005的一個外掛程式。
[編輯]限制
WindowsCE為UNICODE作業系統,但char不必改為TCHAR,WCHAR,因為WindowsCE也支持非Unicode編程。
WindowsCE不支持重疊I/O。
WinCE的許多APIs功能都受限,如:CreateThread函式在許多參數在WindowsCE下都不支持,第1、2、5的參數值必須設為NULL或0。
HThread=CreateThread(NULL,0,Thread,nParameter,0,&dwThreadID);