隨著32位RISC系統處理能力的增強,臺式機x86架構也正在逐步降低對電能的需求。如今,這兩種平臺都可以用來設計電池供電的移動設備。不過,當臺式機應用程序真正用于移動設備時,還需要在某些方面進行特別考慮,而Window Embedded Standard操作系統的出現則解決了這一問題。
Window Embedded Standard(簡稱WES)不只是臺式機操作系統的翻版,它是一種不同的環境,具有專門針對低功耗、移動和不連續操作而設計的新功能。本文將介紹如何高效地使用這些功能。
臺式機和移動設備是不同的
從安全性角度來看,人們可能丟失移動設備,從而造成其中的數據安全受到威脅。蜂窩電話中可能有許多電話號碼。一個WES設備可能含有美國國家電話簿。而且有類數據特別重要,即生物識別數據。帳號或電話號碼被盜,可以修改;而一旦生物識別數據庫遭到破壞,那么問題非同小可。
針對“靜止數據”的安全性,WES提供磁盤級、目錄級或文件級的數據加密技術,因為EFS(加密的文件系統)是基本NTFS文件系統的組成部分。雖然WES沒有采用Vista級的“Bitlocker”加密,但卻采用了其他方法來建立等效的安全系統。
另外該系統還提供多種第三方的‘整盤’加密解決方案,其中有些方案甚至符合FIP140-2標準,也有一些方案與硬盤技術集成在一起。
所有這些安全解決方案都要從身份驗證開始,移動設備的身份欺騙是一種真正的威脅。我們希望移動設備能在安全區域之外使用,因此我們需要知道它是否真的是那臺‘給家里打電話’的設備。
對于移動設備來說可能還有另外一種‘欺騙’——可以和目標設備切換的克隆或孿生設備。也許一位不知情的伙伴無意中會把這臺‘邪惡的孿生設備’帶進安全地區,還有可能移動設備中的硬盤被取出來放進另一臺電腦中進行分析和攻擊。
需要注意,良好的用戶安全三要素(你有什么——標記,你是誰——生物識別,你知道什么——口令)不足以戰勝這類欺騙威脅。取得合法認證的用戶仍能通過泄密設備登錄到網絡(例如,利用安裝好的鍵盤記錄器),從而破壞安全。設備本身(不僅是硬盤上的軟件)需要成為網絡上傳送數據的安全路徑的一部分。這方面最好要用TCG(可信計算機組)規定的一些硬件解決方案來實現。
像Atmel的TPM(可信平臺模塊)等硬件組件執行重要功能,尤其是“安全啟動”,其得到了第三方整盤加密文件系統的支持。這里的想法是,隨著引導軟件的加載,將產生唯一的軟件和設備身份哈希碼。這個哈希碼被存儲在模塊深處,即使用戶或管理者都無法獲知。只有系統知道要啟動什么軟件,并且軟件知道只能在這個硬件上運行。
TPM模塊還為口令、哈希過的口令、密鑰和證書提供安全存儲庫。‘靜止’保存在RAM中或磁盤扇區上的數據(比如口令)可以被WINHEX等商用工具提取出來并還原出本來面目。如果這些數據位于沒有被基本NTFS加密的扇區(例如脫機處理區、臨時區、交換區或打印區),那么可能就是明文。
但即使經過了加密,通過使用快速的離線計算機也能哈希數百萬個明文字符串,直到它們‘匹配哈希結果’,從而獲得口令或密鑰。保證重要的密鑰數據安全的最佳方法是將它存儲在芯片最深處,因為那里有篡改檢測和響應電路,可以保護數據免于遭受入侵。
即使不是國家安全方面的應用,也經常需要強大的數據保護功能,例如高清媒體。許多移動x86設備正在規劃中,而高清視頻的回放通常是這些設備的目標應用之一。
事實上,所有商業高清視頻內容都受強大的DRM(如索尼的藍光技術)保護,但不管是在實驗室還是法庭,經常能看到內容所有者和那些在不支付版稅的情況下拷貝并分發內容的人進行“斗爭”。目前為止,通過使用智能和容易更新的安全VM(虛擬機),以及類似WIPO著作權條約(1996年)1等法律,高清內容所有者似乎勝算較大。對于建立在嵌入式設備中且必須跨國界使用的軟件來說,爭論尚未結束。可以在PC機上運行的下載版“破解”軟件,也許在挪威法庭2上仍然是爭論的焦點。一道禁令,完全可以在國界線上阻止裝有侵權軟件的設備,但這會造成制造商和進口商嚴重的現金流問題。
美國佛羅里達州立大學的“Molecular Expressions”在檢查Digital MicroVAX計算機上的切割線通道(scribe lane)時偶然發現了一條消息,消息文本是條俄語短語:“VAX——如果你真在乎,就去偷最好的東西。”這句話經常出現在20世紀70年代的黑帽白帽黑客大戰中。
這些DRM方案通常要求多方面的設備認證,從媒體到播放器,再到計算機,然后到顯示圖片的顯示設備。芯片保護身份(如TCG批準的模塊)對這種系統來說是必需的。像Vista一樣的WES可以與這種軟件一起工作,并可與DMC1998兼容。微軟正在努力防止Linux被“Tivo化”3。
移動WES設備的設計師應該仔細考慮人機界面(HMI)問題。即使有Atom芯片組的圖形處理能力,并得到了微軟現成驅動程序的強大支持,設備仍可能因顯示器尺寸限制而需要重新對某些HMI進行設計。當然,普通的“XP”桌面是可用的,并且可以被賦于不同的顏色主題,如果需要的話還可以對圖形和功能作重大修改。
想要為其設備完整設計定制接口的人都應該好好看看Siverlight。Siverlight主要用于微軟所謂的RIA(豐富交互式應用)。Silverlight是在.NET 3.5下的Visual studio中開發的,可以在單一IDE中提供到數據庫和編程語言的直接接口。.NET 3.5是WES提供的一個新功能,并不是老版XP embedded的一部分。
但Silverlight是一種基于瀏覽器的技術,因此可能不適合移動手持設備。在本例中,首選接口可以是Windows Presentation Foundation(WPF)。WPF可以提供Silverlight的所有功能——嵌入式視頻、動畫、可擴展矢量圖像等,但所有這些功能的實現都不需要使用瀏覽器。
最后,有關移動設備的另一個細節:它們一般都用電阻觸摸屏,不用鼠標或軌跡球。這是一種不同的接口——比如沒有’hover’特性。Windows Mobile和Windows CE都習慣于利用屏幕上的點擊保持、點擊拖放和雙擊操作提供需要的功能,但這些功能必須嵌入觸摸屏驅動程序,而這些驅動程序對每家觸摸屏供應商來說都是不同的,并不是現成WES的一部分。你需要自己來創建這種驅動程序,或者從OEM供應商處獲取。
需要提醒大家的是,這種驅動程序如果做得不好的話,可能極耗資源和功率。最好使用優秀的低功耗、中斷驅動設計技術來創建這些驅動程序。
聯網功能
對于一個真正的移動設備來說,聯網功能是有差異的。筆記本電腦雖然也是可移動的,但通常在一個固定地點工作,并保持一條到單個WiFi接入點的鏈接。然而,手持式WES設備可能需要在移動中使用(比如在倉庫中攜帶RFID閱讀器/平板電腦的工人),可能從一個接入點‘跳到’另一個接入點,同時還要保持會話的連接性和安全性。
Windows Communication Foundation(WCF)可以提供這種靈活性。WCF是.NET框架的一部分,可用于搭建互相通信的應用程序。WCF內置于Vista中,開發WCF設備的OEM商可以進行下載和安裝。
WCF是微軟針對通信的全面解決方案,但該領域并非只有微軟一家大公司。思科幾乎壟斷了接入點市場,他們的各種標準(著名的CCX)也是OEM設備開發環境中的一個要素。幸運的是,這些通信技術都基于與XP/Vista兼容這樣一個共同點,因此可以與WES系統一起作為即插即用驅動程序安裝。
OEM廠商應注意,對移動設備來說,供應商標準也許還不夠。針對不同類型的醫療設備、DoD信息和各種安全(經濟)事務都有嚴格的工業和政府標準。同樣幸運的是,所有這些標準都是用Windows PC設備開發和驗證的,因此OEM商適應WES設備通常很容易。
然而,所有答案不在軟件中。移動設備設計師尤其需要理解他的設備處于通信情景中的哪個環節。例如,筆記本電腦幾乎都是USB主機。然而,移動設備可能是USB從機,也可能同時具有主機和從機的功能。這類變化可能需要BIOS做出調整。
功耗
功率使用,更具體地說是每次單元操作的能耗,對電池供電設備而言非常關鍵。最終,我們需要的是在最小電池成本和體積下的“使用天數(DOU)”。時鐘速率或MIPS的測量并不能很好地指示一個設備的‘DOU’。功耗的測量并不嚴格與DOU相關。每瓦的MIPS有一定程度的關聯,但前提是恒定連續的使用——對移動設備來說很少這樣。但真正有價值的是每次操作的瓦特秒(爾格)。
移動應用是中斷和事件驅動型應用。例如,移動設備可能有一個內置的RFID閱讀器。它的電池壽命可能不是以小時計,而是以閱讀次數計。如果設計合理的話,這種設備平時應該幾乎不耗電,除非要求去讀取標簽。然后,它應觸發工作、發出射頻脈沖、讀取返回的數據、排除錯誤讀數、應用一些商業邏輯,再將數據傳送給本地或遠程數據庫,中間可能需要啟動網絡連接。
正如你看到的那樣,對硬件、操作系統和應用軟件的整合努力,可以實現最優的每次操作爾格值。進一步的爾格/操作優化直接取決于執行的操作和采用的網絡。例如,簡短的SMS通過CDMA或GPRS發送可能具有很高的能效(每字節納爾格)。而較大的文檔,比方電子郵件或圖形,在用Wi-Fi傳送時可能具有最高的效率(每兆字節爾格值)。WES向應用程序設計師提供了這樣的平臺:能夠根據要求的帶寬、安全性和服務質量有選擇地使用網絡。
現有的WES提供與XP Pro計算機電腦上一樣的高級配置與電源接口(ACPI)。通過這種內置并且現成的ACPI,你可以獲得像休眠等許多基本功能。而且你可以從應用層實現額外的電源管理功能。ACPI級電源管理基于對運行時間空閑的簡單監視,如表1所示4。
WES中包含的這種基本ACPI函數與筆記本電腦中使用的一樣,只是移動設備電源管理的開始點。控制ACPI的‘定時器’設置值通常遠大于用于表征實時設備事件驅動操作的間隔時間。
擴展電源管理
WES 2009有一個新特性,即一次休眠,多次啟動(HORM)。HORM能讓系統迅速(標稱值是1秒)啟動至事先創建的休眠文件。例如,這一特性能讓自動化系統在短暫的電源故障后迅速進入工作狀態。
對一些設備來說,OEM商應準備好移動過去基本的ACPI級電源管理功能,將它們集成進應用程序中。OEM或其一線供應商,可以擴展BIOS來提供API,以便將CPU甚至相關的電子器件轉換為更低功耗狀態。
有趣的是,對我們來說是連續操作的短暫毫秒時間內,有足夠的空間實現功耗節省。例如,MPEG回放的每幀要求多種耗用功率:一種是將數據送出磁盤,一種是解碼,一種是填充幀緩存,然后是很低功耗(但屏幕背光一直是開著的)以等待下一幀。
MPEG幀與幀之間的這種可變功耗在高速電流測量示波器上是真實可見的。
電池充電
耗能只是問題的一半,首先必須給電池充電。鋰化學原料具有一定的危險性,一般是使用智能電池。控制電池充電要求訪問I2C或SPI總線接口,并且是從應用層一直到管理電池的充放電過程。電池管理是一個艱巨的軟硬件設計挑戰,而與操作系統的集成是任何移動設備成功的基礎。
圖1:“筆記本電腦”與“移動設備”設計標準的比較。
圖2:危險分子會努力破壞安全圖。
圖3:運行時空閑檢測。WES中包含的這種基本ACPI函數與筆記本電腦中使用的一樣,只是移動設備電源管理的開始點。控制ACPI的‘定時器’設置值通常遠大于用于表征實時設備事件驅動操作的間隔時間。
圖4:功耗。黃色=功耗,紫紅色=電流,穩定的黃色=電源。MPEG-1回放,頂部是Linux操作系統,底部是WES。平臺是Catalyst EC。
評論
查看更多