Windows Embedded的家族成員
CE適用於一般輕巧的消費型電子產品;Windows XPe由於使用Windows XP相同的核心,應用層面比CE更廣;Windows Embedded for POS則如其名所示,用於銷售店面的收帳系統。
CE 6.0採用高效率的新核心
6.0版最大改變是採用新的核心模式,部署到實際裝置後,執行時將比使用者模式或混合模式更有效率,此外,軟體、硬體分別開發也是CE 6.0版更重要的革新。
強調多媒體應用的XPe
XPe是桌上型電腦Windows XP專業版的元件化版本,相對於CE 6.0在核心特性上的提升,XPe的改進則以開發層面為主。
微軟企圖成為嵌入式作業系統的上游供應商
當CE 6.0採用效率更高的新核心,與XPe相容於XP專業版應用程式等,加上硬體運算效能更佳、成本卻更低,都有助於微軟的嵌入式系統進軍企業市場。Windows Embedded的家族成員
微軟的視窗作業系統產品,除了應用在桌上型電腦與伺服器的系列(例如Windows XP專業版、Windows Server 2003)以外,另一個是屬於嵌入式系統:Windows Embedded,包括Windows Embedded CE(以下簡稱為CE)、Windows XP Embedded(以下簡稱為XPe)與Windows Embedded for POS(Point of Service)等。
微軟在2006年所發表的Windows Embedded CE 6.0與Windows XPe,新版的作業系統核心都強調執行效率,並且以軟體模擬處理器指令集,改革嵌入式應用開發的困難。以往開發嵌入式作業系統步驟繁複,因為軟體與硬體密不可分,使得嵌入式應用工程師只能透過不斷地嘗試錯誤,將開發中的軟體部署到硬體,才能除錯等。
CE應用於一般輕巧的消費型電子產品,Windows XPe由於使用Windows XP相同的核心,可執行多媒體應用程式、網路瀏覽器等,應用層面比CE更廣,例如用於開發精簡型電腦(Thin Client)。Windows Embedded for POS正如其名所示,用於銷售店面的收帳系統。
微軟嵌入式作業系統技術規格 |
||
Windows Embedded CE 6.0 | Windows XP Embedded | |
開發工具 | 1.Visual Studio 2005專業版 2.CE 6.0 Platform Builder |
1.Visual Studio 2.NET Framework 3.Microsoft Windows Embedded Studio |
支援處理器 | ARM、MIPS、SH、x86 | x86 |
安全性強化 | 1.憑證管理員(Credential Manager) 2.Local Authentication Subsystem(LASS) 3.加密與憑證(Cryptography、Certificates) 4.受保護的儲存區(Protected Store) 5.安全性支援及提供者介面架構(Provider Interface Architecture) 6.Security Socket Layer(SSL) 7.支援智慧卡(Smart Card)認證機制 |
1.可使用Windows 防火牆,可根據網路拓樸,決定開啟或關閉特定的通訊埠。 2.瀏覽網頁時,可擋住彈出式視窗或有潛在安全性威脅的下載檔案。 3.可利用記憶體保護機制;主要核心可在Visual Studio編譯器下重新編譯,並支援處理器中硬體線路的「No Execute(NX)」安全指令。 |
附註: 硬碟空間需求 | 18GB(含Visual Studio 2005與Platform Builder等工具) | 20MB~3.2GB(含設定工具與元件資料庫) |
CE 6.0採用高效率的新核心
Windwos Embedded CE系列,原本名稱是Windows CE,第1版在1996年就已經發布。6.0版最大改變是採用新的核心模式(kernel-mode),部署到實際裝置後,執行時將比使用者模式或混合模式更有效率,而原本用於開發CE 5.0版的Platform Builder工具,現在整合成為Visual Studio 2005開發工具的外掛(plug-in)程式。
CE 5.0以前的版本,在Win32 API的部署上採用類似Windows NT的Client/Server架構。當應用裝置執行程序(Process)時,會因為Local-Procedure Calls(LPCs)的內部通訊機制,造成效能降低。Windows NT 4.0將使用者模式下的API函式庫整合到核心模式,才改進上述缺點。CE 6.0也採用類似的方式,但相對於NT系統,CE採用輕量化的程序,而且可以更動組態,決定系統只跑特定API所需的程序,所以效能不至於大幅犧牲。6.0版改用核心模式後,解除原本只能同時執行32個程序的限制,以及32MB的虛擬記憶體空間(Virtual Memory Space)等問題,使得應用工程師可以加入更複雜的功能。
除了核心模式改進外,軟體、硬體分別開發是CE 6.0版更重要的革新。以往硬體設計師撰寫的「低階常式集」稱為OEM Adaptation Layer(OAL),元件會與核心靜態地連結在一起。6.0版後,OEM程式碼與作業系統程式碼分開,成為獨立的模組:核心與OAL,使得應用工程師不必同時負責開發硬體相關的OEM程式碼,並專注在核心上,只需透過Platform Builder內建的模擬器(Emulator)即可。
可執行32000個程序,享有2GB虛擬記憶體定址空間
用於執行Windows CE的處理器區分為2種特權階層,較高的特權階層屬於核心模式,較低的特權階層屬於使用者模式。程式碼放在使用者模式中執行較為安全,但效率較低。CE 6.0則將所有應用程式都放在使用者模式,與作業系統相關的元件則放在核心模式,可降低因為不同特權階層間的呼叫而影響執行效能。
由於CE 6.0的核心支援32000個程序,將原本每個程序只能有32MB虛擬記憶體位址空間,擴充到2GB。這樣的改變,已使CE 6.0接近桌上型作業系統Windows XP的運算能力。
內建ARM處理器的指令階層模擬器
嵌入式應用工程師如欲避免硬體上開發或除錯時,只能透過不斷地嘗試錯誤,就必須使用軟體模擬硬體,但桌上型電腦如何模擬行動電話等其他行動裝置?CE 6.0內建模擬器,採用主流ARM處理器的指令階層模擬器。模擬器與實際裝置的指令集,在二進位碼上是彼此相容的,所以工程師只要寫一次二進位碼的指令集,就可以同時在兩種裝置上執行。此外,採用二進碼也讓除錯更容易,無論是在設定或編譯(Compile)都沒有差別。
增強核心的安全性,提供整合式開發工具
新版在安全上重要的改進,主要是在CE 6.0上內建安全載入器(loader),能決定哪些可信賴的程式可以在系統上執行。開發過程的「OS Design」步驟中,Visual Studio 2005工具在封裝作業系統影像檔前,會先檢驗影像檔中各元件的安全性,並以對話視窗提示。
CE 6.0提供「OEMCertifyModule」功能,嚴格控制應用程式與動態連結檔是否允許載入與執行。另一個核心安全控管是Cryptographic API,顧名思義用於加密。CE 6.0也支援SSL等HTTP的封包加密,以及PPTP的VPN加密等標準。
克服安全性議題後,如何加速開發又是另一個頭痛的問題。在CE 5.0的開發時,只有Platform Builder軟體,但CE 6.0則整合在Visual Studio 2005上,應用工程師可以善用Visual Studio的新功能,例如智慧程式碼輸入(IntelliSense)、語法檢查(syntax checking)、強調語法(syntax highlighting)與結構概要檢視(outline overview)等。
CE 6.0還可以使用圖形介面的登錄檔編輯器。登錄檔固然可以用文字編輯器(例如記事本)就可以修改機碼,但圖形化工具卻可以呈現與真實環境電腦中一樣的樹狀結構。
程式完成後,開發人員需煩惱如何封裝。Runtime Image Viewer 是CE 6.0還附帶的好用工具。當工程師設計完成後,會將作業系統封裝成nk.bin的影像檔。這時候工程師無法知道系統內有哪些執行檔或動態連結檔,只能靠猜測或部署到硬體上執行才能了解。現在可以透過Runtime Image Viewer,打開原本封裝的檔案,在比較兩個不同的影像檔時特別適用。
CE 6.0的即時特性 |
嵌入式作業系統屬於即時作業系統(Real-time OS,RTOS),RTOS的條件是:
1.作業系統必須具備先佔式多執行緒(multithreaded and preemptive)。 2.作業系統必須支援執行緒優先權(thread priority)。 3.系統的優先權繼承(priority inheritance)必須存在。 4.作業系統必須支援可預測性的執行緒同步機制(predictable thread synchronization mechanisms)。 簡單地說,作業系統的行為必須是可預測的,這與桌上型電腦所使用的分時作業系統比較,最大的差別是單一功能與多工的特性。由於Windows Embedded CE 6.0具備巢狀中斷(Nested Interrupts)、個別執行緒量子(Per-thread Quantums)、256階的執行緒優先權等,所以屬於即時作業系統。 |
強調多媒體應用的XPe
微軟推出Windows XP Embedded(以下簡稱Windows XPe),是延續Windows NT Embedded 4.0的下一代嵌入式系統。XPe是桌上型電腦Windows XP專業版的元件化版本(Component Version),因此可與XP專業版共用二進位碼與應用程式介面(API),而且XP專業版的應用程式可以不經修改便導入到XPe上使用,甚至包括多種Windows平臺上的管理工具。不過,XPe與CE不同,它只支援x86架構平臺。
微軟也為XPe提供完整的解決方案,讓嵌入式應用系統工程師在圖形化套件的協助下,更有效率地開發應用系統。這個開發套件就是Microsoft Windows Embedded Studio,包括硬體裝置分析工具(Target Analyzer)、元件設計工具(Component Designer)、元件資料庫管理工具(Component Database Manager)、元件包裝工具(Target Designer)等,從作業系統的設計到大量部署都可透過工具完成。至於開發XPe所需要的應用程式,工程師可應用Visual Studio 2005軟體。
相對於CE 6.0在核心特性上的提升,XPe的改進則以開發層面為主。
元件資訊以XML封裝,記錄在元件資料庫
XPe所謂的元件化,指的是視窗功能模組與硬體裝置驅動程式都是一個一個的元件。實際應用時,只要選擇所需的元件,應用硬體裝置分析工具、元件設計工具、元件資料庫管理工具、元件包裝工具等4個工具所規畫的設定步驟,即可完成XPe作業系統。
使用時,我們先啟動硬體裝置分析工具,自動偵測執行環境的硬體資訊,包括晶片組、顯示卡與網路卡型號,以及供應商和編號等。接下來工具會產生硬體描述檔(PMQ)。硬體裝置分析工具在Windows XP或PE上可使用圖形化操作介面,在DOS環境上則只能用文字命令。
有了硬體描述檔後,每個硬體還需要搭配對應的驅動程式,再透過元件設計工具包裝成SLD檔,並匯入到元件資料庫。如果系統工程師需要安裝應用程式,以延伸系統功能,也是在這個步驟上完成。
這些元件都會以XML封裝後,記錄在元件資料庫。當我們要新增或刪除元件時,例如加入使用者介面,不必修改元件資料庫,而是使用元件資料庫管理工具,匯入硬體描述檔後再修改元件即可。
便於快速複製與大量部署
XPe中的元件包裝設計工具負責會處理各元件的相依性,以及各元件的組態,確定無誤後才會包裝成可開機的系統檔。接著,工程師再透過元件包裝設計工具,將包裝完成的影像檔部署到多部相同硬體架構的系統上執行,短時間內複製出大量的嵌入式應用系統。
使用Win32或.NET的應用程式介面
由於XPe與XP專業版都使用相同的二進位碼,所以應用工程師可使用Win32或.NET的應用程式介面,以及驅動程式,更可以使用相同的開發與除錯工具:Visual Studio 2005。
以往系統工程師在開發過程中,軟體與硬體緊密關聯,而必須取得硬體規格,XPe則改進這個問題,讓工程師專注在系統與應用等軟體開發層面。對於硬體裝置供應商而言,也不必修改驅動程式。微軟企圖成為嵌入式作業系統的上游供應商
近年來,微軟對於嵌入式系統更趨積極。研華公司嵌入式系統軟體處產業開發經理林啟文提到,「雖然微軟在個人電腦作業系統有極高的占有率,但個人電腦市場日趨飽合,微軟也急著開拓新的市場。」。以前,嵌入式系統還是冷門的領域,侷限在利基市場,但微軟早在1996年就已經有嵌入式作業系統產品。近來消費性電子產品所開拓的新市場,代表著使用者觀念轉變,功能走向精簡化、容易操作。比起泛用型電腦,消費型電子產品需以精緻的服務為需求,這正是嵌入式應用的目的。此外,當代人們更重視休閒,因此帶動數位機上盒與車用電子(如多媒體設備等)的潛在市場,也是嵌入式應用的商機。
不過,微軟對於嵌入式系統的應用市場策略,是準備進攻企業應用市場。林啟文提到,「例如企業內的列印伺服器或檔案伺服器等」,一般的伺服器價格較高,改用微軟的嵌入式系統後,成本可降低,但不至於犧牲服務品質,這些系統原本是Linux的利基市場。當CE 6.0採用執行效率更高的新核心,與XPe相容於XP專業版應用程式等,加上硬體運算效能更佳、成本卻更低,都有助於微軟的嵌入式系統為企業市場理想的解決方案。文⊙張瑞隆
熱門新聞
2025-01-30
2025-01-31
2025-02-03
2025-02-03
2025-02-03
2025-02-03
2025-02-03