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專業版應用程式等,加上硬體運算效能更佳、成本卻更低,都有助於微軟的嵌入式系統為企業市場理想的解決方案。文⊙張瑞隆

熱門新聞

Advertisement