Windows Embedded Compact (曾被稱為Microsoft Windows CE),為微軟 研發的嵌入式作業系統 ,可以應用在各種嵌入式系統 ,或是硬體規格較低的電腦系統(例如很少的記憶體,較慢的中央處理器 等)。微軟並未定義CE縮寫由來,一般解釋則有Compact Edition、Customer Embedded、Consumer Electronics等等。在2008年4月15日舉行的嵌入式系统大会上,微軟宣布將Windows CE更名為Windows Embedded Compact,與Windows Embedded Enterprise 、Windows Embedded Standard 和Windows Embedded POSReady 組成Windows Embedded 系列產品。[ 3]
概覽
搭载了Windows CE系统的Tektronix Y400 NetTek Analyzer
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。
2010年10月,微软推出 Windows Phone 7,Windows Embedded Compact 7。
Windows CE可以使用在各式各樣的系統上,最有名的是Pocket PC 以及微軟的SmartPhone 。其他較不為人知的裝置包括微軟的车载电脑 、机顶盒 、生產線上的控制設備、公共場所的資訊站 (Kiosk )、電子辭典 及导航仪 等等,有些裝置甚至沒有任何人機介面。
Windows CE並非從桌上型電腦的Windows(NT,98,XP……)修改縮小而來,而是使用一套完全重新設計的核心,所以它可以在功能非常有限的硬體上執行。雖然核心不同,但是它卻提供了高度的Win32 API軟體開發介面的相容性,功能有内存管理、文件操作、多线程、网络功能等。因此,開發桌上型電腦軟體的人可以很容易編寫甚或直接移植軟體到Windows CE上。
一個與其他微軟作業系統的差異是Windows CE提供原始碼,首先已經提供了原始碼給部分廠商,讓廠商能夠依照他們自己的硬體架構修改原始碼, 例如在Windows CE的開發IDE軟體Platform Builder中就提供了許多開放原碼的常用軟體元件,但是一些與硬體架構的軟體元件仍然以二進制檔案形式來提供。
版本
版本
改動
1.0
發佈於1996年11月[MSCE1]。[ 4] 代號Pegasus。[ 5]
使用該OS的設備被命名為「handheld PC」〈HPC〉。[ 4]
2.0
發佈於1997年9月[MSCE2]。[ 4] 代號Mercury/Gryphon/Apollo/Alder/Alder EP/Birch/Birch SP2/Jupiter/Wyvern/Goldeneye。[ 5]
以Palm-sized PC/Pocket PC為名的設備出現。[ 4]
即時排程演算法。
支援系統架構:ARM,MIPS,PowerPC,StrongARM,SuperH及x86。
32-bit 彩色螢幕。
SSL 2.0及SSL 3.0。
3.0
發佈於2000年六月[MSCE3]。[ 4] 代號Cedar。[ 5]
針對核心進行重寫使CE的即時性推進至微秒層級。[ 6]
Pocket PC 2000,Pocket PC 2002及Smartphone 2002的基礎。[ 4]
優先級數從8增加至256。[ 4]
系統物件數從65 536增加至4億1900多萬。[ 4]
使用特殊的APIs對系統進行存取,對登錄檔的寫操作也被限制在部分區域。[ 4]
4.x
發佈於2002年1月。[MSCE4]。[ 4] 代號Talisker/Jameson/McKendric。[ 5]
更改部份驅動結構并增加新功能。[ 6]
以"Pocket PC 2003"為基礎。[ 4]
提供藍牙支持。[ 4] [ 7]
支持TLS(SSL 3.1),IPsec L2TP VPN、Kerberos。[ 4]
5.0
發佈于2004年8月。[ 5] 新增了許多功能。[ 6] 代號"Macallan".[ 5]
自動向生產商發送錯誤報告。[ 8]
移動式Direct3D ,一個基於COM的Windows XP DirectX多媒體API版本。[ 8]
2D圖形DirectDraw和攝像頭與影片的DirectShow數字化支持。[ 8]
支持Remote Desktop Protocol(RDP)。[ 9]
6.x
發佈於2006年9月。代號"Yamazaki".[ 5]
進程地址空間從32 MB增加至1 GB
進程數目從32增加至768[ 10]
可以使用用戶模式和內核模式的設備驅動。
Device.exe, filesys.exe, GWES.exe被轉移至內核模式中。
SetKMode and set process permissions not possible.
增強系統調用的性能。[ 11]
7.x
7.0 發佈於2010年10月。7.5 發佈於2011年9月
詳見Windows Phone 7
CE v3.0是Pocket PC 2002的基礎. CE v3.0的下代為CE.net. [ 4]
"PocketPC [是]核心Windows CE OS上的一整層程式... Pocket PC以Windows CE為基礎,但分發的方式不太一樣.". Pocket PC的使用證書禁止修改WinCE的程式.[ 12]
功能
停产前最新的Windows CE 為Windows CE 7.0 ,這個版本在核心部分支援:
早期Windows CE
雙核心處理器支援(SMP、ARMv6)
WIFI定位系统
藍牙3.0 + HS
Cellcore
DLNA (數位生活網路聯盟)
數位版權管理 (DRM)
媒體傳輸協議 (MTP)
IE8 Rendering Rich Media Plug-Ins
NDIS 6.1支援
UX C++ XAML API如使如Windows Presentation Foundation和Silverlight的用戶界面
更佳觸摸和手勢輸入
在開發環境上,微軟也提供相容於.NET Framework 的開發元件:.NET Compact Framework ,讓正在學習.NET 或已擁有.NET 程式開發技術的開發人員能迅速而順利的在搭載Windows CE .NET 系統的裝置上開發應用程式 。
用于掌上电脑Pocket PC 以及智能手机 Smart Phone 上的Windows CE系统称为Windows Mobile ,目前成熟的最新版本为Windows 10 Mobile 。
在2009年10月6日,Windows Mobile 亦正式改名為Windows Phone .
開發工具
Windows CE可支援MFC ,ATL ,STL ,COM ,ActiveX ,以及.NET Compact Framework 。開發工作可以分為:
Platform Builder :這個工具是一個編譯平台(BSP + 作業系統核心)、驅動程式以及應用程式,是一個可以做單部執行的開發環境,也可以用來傳送SDK到目標平台再搭配另外一個下面的工具來使用。
Free Pascal and Lazarus :版本2.2.0以后的Free Pascal都有Windows CE支持(包括ARM和x86)。随后,Windows CE头文件也被翻译,供Lazarus(一个基于Free Pascal的快速应用开发(RAD)软件包)使用。用户可以使用Lazarus IDE来设计Windows CE应用程序,并通过交叉编译器(cross-compiler)生成用于Windows CE的可执行文件。
Visual C++ 2005/2008/2010其中Platform Builder 6.0 for Windows Embedded CE被改寫成Visual Studio 2005的一個插件。
限制
Windows CE為UNICODE作業系統,但char不必改為TCHAR,WCHAR,因為Windows CE也支援非Unicode編程。
Windows CE不支援重叠I/O。
WinCE的許多APIs功能都受限,如CreateThread函数在许多参数在Windows CE下都不支持,第1、2、5的參數值必須设为NULL或0。
HThread = CreateThread ( NULL , 0 , Thread , nParameter , 0 , & dwThreadID );
參見
參考文獻