Windows Embedded Compact

維基百科,自由的百科全書
(重新導向自Windows CE
跳至導覽 跳至搜尋
Windows Embedded Compact
File:Windows CE Logo.svg
開發者Microsoft
程式語言{{#property:p277}}
作業系統家族Windows Embedded Compact
運作狀態已停止支援 (2021年結束)
原始碼模式封閉(共用內核原始碼[1]
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    內核類別混合核心
    許可證微軟EULA
    官方網站Windows CE
    倉媒體櫃
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)

    Windows Embedded Compact(曾被稱為Microsoft Windows CE),為微軟研發的嵌入式作業系統,可以應用在各種嵌入式系統,或是硬件規格較低的電腦系統(例如很少的記憶體,較慢的中央處理器等)。微軟並未定義CE縮寫由來,一般解釋則有Compact Edition、Customer Embedded、Consumer Electronics等等。在2008年4月15日舉行的嵌入式系統大會上,微軟宣佈將Windows CE更名為Windows Embedded Compact,與Windows Embedded EnterpriseWindows Embedded StandardWindows Embedded POSReady組成Windows Embedded系列產品。[2]

    概覽[編輯]

    File:Tektronix Y400 NetTek Analyzer 20150519 104452.jpg
    搭載了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:x86PowerPCARMMIPSSH3/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中就提供了許多開放原碼的常用軟件元件,但是一些與硬件架構的軟件元件仍然以二進制檔案形式來提供。

    版本[編輯]

    Timeline of Windows CE Development

    版本 改動
    1.0 發佈於1996年11月[MSCE1]。[3]代號Pegasus。[4]
    • 使用該OS的裝置被命名為「handheld PC」〈HPC〉。[3]
    2.0 發佈於1997年9月[MSCE2]。[3]代號Mercury/Gryphon/Apollo/Alder/Alder EP/Birch/Birch SP2/Jupiter/Wyvern/Goldeneye。[4]
    • 以Palm-sized PC/Pocket PC為名的裝置出現。[3]
    • 即時排程演算法。
    • 支援系統架構:ARM,MIPS,PowerPC,StrongARM,SuperH及x86。
    • 32-bit彩色螢幕。
    • SSL 2.0及SSL 3.0。
    3.0 發佈於2000年六月[MSCE3]。[3]代號Cedar。[4]
    • 針對核心進行重寫使CE的即時性推進至微秒層級。[5]
    • Pocket PC 2000,Pocket PC 2002及Smartphone 2002的基礎。[3]
    • 優先級數從8增加至256。[3]
    • 系統物件數從65 536增加至4億1900多萬。[3]
    • 使用特殊的APIs對系統進行存取,對登錄檔的寫操作也被限制在部分區域。[3]
    4.x 發佈於2002年1月。[MSCE4]。[3]代號Talisker/Jameson/McKendric。[4]
    • 更改部份驅動結構並增加新功能。[5]
    • 以"Pocket PC 2003"為基礎。[3]
    • 提供藍牙支援。[3][6]
    • 支援TLS(SSL 3.1),IPsec L2TP VPN、Kerberos。[3]
    5.0 發佈於2004年8月。[4]新增了許多功能。[5]代號"Macallan".[4]
    • 自動向生產商傳送錯誤報告。[7]
    • 移動式Direct3D,一個基於COM的Windows XP DirectX多媒體API版本。[7]
    • 2D圖形DirectDraw和攝像頭與影片的DirectShow數碼化支援。[7]
    • 支援Remote Desktop Protocol(RDP)。[8]
    6.x 發佈於2006年9月。代號"Yamazaki".[4]
    • 進程地址空間從32 MB增加至1 GB
    • 進程數目從32增加至768[9]
    • 可以使用用戶模式和內核模式的裝置驅動。
    • Device.exe, filesys.exe, GWES.exe被轉移至內核模式中。
    • SetKMode and set process permissions not possible.
    • 增強系統調用的效能。[10]
    7.x 7.0 發佈於2010年10月。7.5 發佈於2011年9月

    詳見Windows Phone 7

    CE v3.0是Pocket PC 2002的基礎. CE v3.0的下代為CE.net. [3] "PocketPC [是]核心Windows CE OS上的一整層程式... Pocket PC以Windows CE為基礎,但分發的方式不太一樣.". Pocket PC的使用證書禁止修改WinCE的程式.[11]

    功能[編輯]

    停產前最新的Windows CEWindows CE 7.0,這個版本在核心部分支援:

    File:Windows mobile.jpg
    早期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可支援MFCATLSTLCOMActiveX,以及.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 = CreateThreadNULL, 0, Thread, nParameter, 0, &dwThreadID);
    

    參見[編輯]

    參考文獻[編輯]

    1. ^ Microsoft opens full Windows CE kernel source. Linux Devices' article(Nov. 01, 2006).
    2. ^ Microsoft Charts Its Road Map for Windows Embedded Business. [2009-04-22]. (原始內容存檔於2008-04-20). 
    3. ^ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 Risk Analysis of Mobile Devices with Special Concern of Malware Contamination (PDF). [2009-09-02]. (原始內容 (PDF)存檔於2022-02-27).  090517 2000grad.com
    4. ^ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 Windows Embedded Blog : CE 6.0 - why the codename "Yamazaki" ?. [2009-09-02]. (原始內容存檔於2009-06-09).  090517 blogs.msdn.com
    5. ^ 5.0 5.1 5.2 Talk:Microsoft Windows CE#Is Windows CE a trimmed down version of desktop Windows ??? 090517
    6. ^ Pen Computing Magazine: Windows CE .net. [2009-09-02]. (原始內容存檔於2022-04-17).  090517 pencomputing.com
    7. ^ 7.0 7.1 7.2 MS readies WinCE 5.0 preview. [2009-09-02]. (原始內容存檔於2019-04-14).  090517 theregister.co.uk
    8. ^ The History of the PDA. [永久失效連結] 090517 seditaville.com
    9. ^ Introduction to Microsoft embedded technologies - Session 1. [2009-09-02]. (原始內容存檔於2011-07-24).  090517 embedded.net.nz
    10. ^ Differences between Windows CE 5.0 and Windows CE 6.0. [2009-09-02]. (原始內容存檔於2012-12-09).  090517 windowsfordevices.com
    11. ^ Why Pocket PC isn't WinCE. [2009-09-02]. (原始內容存檔於2018-09-19).  090517 theregister.co.uk