2010年5月16日 星期日

Extensible Firmware Interface Overview

BIOS(Basic Input/Output System,基本輸入/輸出系統)作為PC的核心固件,是用戶最初設置和操作PC的環境,負責溝通硬體和軟體的交互聯繫。在幾乎所有硬體架構都曾歷經數次徹底革新的情況下,傳統BIOS一直是修補式的漸進發展,由於軟硬體均發展迅速,沿用20多年前的基本模式的BIOS已成為PC前進的包袱。傳統 BIOS正遭受相容性、維護和擴展等一系列技術挑戰,被EFI(Extensible Firmware Interface,可擴展固件介面)的取代趨勢已日趨明朗。
EFI是英特爾為全新類型的PC固件的體系結構、介面和服務提出的建議標準,被視為是BIOS的繼任者。它是1999年為安騰而生的,2005年英特爾把 EFI規範貢獻給業界,成立統一的EFI論壇,即管理EFI規範的非營利性國際組織UEFI。業務上的競爭並不妨礙技術和標準上合作,在11家UEFI創始推進公司中,既涵蓋了AMD、Intel這樣的晶片廠商,也包括作業系統廠商、個人電腦廠商,更涵蓋了Phoenix和AMI這樣的獨立BIOS廠商。從BIOS 到UEFI的轉型得到主要行業參與者的支援,EFI成為公認的可靠、穩定的新一代BIOS標準。
據了解,UEFI相關參數定義了作業系統與平臺固件間可擴展介面,其最大特點是採用模組化設計,基本分為硬體控制和OS軟體兩大模組,前者只要EFI版本相同,功能就完全相同,而後者則是給廠商用C語言(而非組合語言)撰寫應用功能的開放介面。通過這個標準的開放介面,廠商可以根據需要自行編寫各種功能插件,比如系統備份/還原插件、瀏覽器插件、防病毒插件等,同時不受容量限制,這就為固件層級的技術創新提供了平臺。
EFI擁有採用結構化C語言編寫、可視化操作、可擴展性強以及相容性強等優勢。它帶給用戶最直觀的感受是圖形化界面, EFI看起來很像一個初級作業系統,不但支援滑鼠操作,還可以進行遊戲、媒體播放等操作,這在BIOS應用時代很難實現。通過EFI,甚至還可實現初級的作業系統功能,完成如上網、文件管理等功能。據英特爾軟體與解決方案事業部中國首席研發官梁兆柱介紹,未來的EFI功能還會更強大,並將在新一代MID和 HTPC中發揮作用。
從技術角度看,EFI最大的變革之處在於開機後EFI初始化時,不僅檢測硬體設備,還可同時載入硬體的驅動程式,而並不需要通過作業系統來載入。此前,硬體由Windows控制,每次重裝系統後,也要安裝相應的驅動程式。而 EFI則可直接裝入驅動程式,通過EFI層來載入硬體驅動,免去了重裝作業系統後重新安裝驅動的勞動量。



2010年5月10日 星期一

Windows Management Instrumentation (WMI)

Windows 管理規範(Windows Management Instrumentation)是一項核心的 Windows 管理技術;用戶可以使用 WMI 管理本機和遠端電腦。WMI 通過編程和指令碼語言為日常管理提供了一條連續一致的途徑。用戶可以:

1.在遠端電腦器上啟動一個工作。
2.設定一個在特定日期和時間執行的工作。
3.遠端啟動電腦。
4.獲得本機或遠端電腦的已安裝程序列表。
5.查詢本機或遠端電腦的 Windows 事件日誌。

WMI 需要的其他軟體包括:

1. Microsoft Internet Explorer 5.0 或更高版本。
2. Windows Script Host(WSH)。

WMI是一個三套式架構的模型,由上而下分別是1. WMI資料提供者(WMI Provider)、2. CIM物件管理員(CIM Object Manager)以及3. WMI資訊請求者(WMI Consumer)。



WMI資料提供者(WMI Provider)﹕
因此WMI Provider也必須細分成多種類型與之對應﹕
1. Win32 Provider﹕
提供作業系統、電腦系統、周邊設備、檔案系統(File System)等相關資料。

2. WDM (Windows Driver Model) Provider﹕
提供使用者輸入裝置,儲存裝置,網路介面及通訊埠等資料。
3. Event Log Provider﹕
提供Windows事件紀錄(Event Log)的相關資料,亦可設定Windows事件紀錄的選項或備份。此外,當事件紀錄中每新增一筆記錄時,Event Log Provider亦可為它產生一個WMI事件並主動傳回WMI系統。
4. Registry Provider﹕
可以建立/讀取/寫入Registry Key,亦可設定在特定Registry Key有異動時主動產生一個WMI事件並主動傳回WMI系統。
5. Performance Counter Provider﹕
可跳過效能監視器(Performance Monitor),直接取得系統效能資料。當有任何支援效能監視器的應用程式計數器(Counter)被新裝到系統後,亦可直接透過Performance Counter Provider取得計數器的數值。
6. Active Directory Provider﹕ 可直接存取放在AD中的資料。
7. Windows Installer Provider﹕
可完整控制Windows Installer,並經由WMI安裝應用軟體,或查詢那些軟體是經由Windows Installer所安裝的。
8. SNMP Provider﹕
對於支援SNMP的系統及設備,可直接讀取並寫入MIB,所有SNMP trap亦可直接轉成對應的WMI事件並主動傳回WMI系統。
9. View Provider﹕
可將前面八類Provider所提供的資料予以過濾或彙集,並建立新的檢視方法。例如﹕原本的class中包含許多您不需要的資訊,可以透過View Provider建立新的檢視,將部份資料濾除,或者將多個class予以合併成一個。

WMI 資料請求者(WMI Data Consumer)﹕
一切需要借助於WMI取得管理資訊的應用系統均屬於此一層。例如Microsoft System Management Server(SMS)及Microsoft Operations Manager(MOM)等均大量利用WMI取得被管理電腦上的元件及其狀態。

CIM Object Manager(CIMOM)﹕
正因為資料來源種類太多,CIM希望統一其呼叫方式,因此在WMI架構之下,當網管人員或網管系統需要某項系統管理資訊時,WMI Data Consumer並不需要知道各項資料來源的真正位置及呼叫方式,而是透過WMI所訂的統一資料格式,以查詢語言向CIMOM提出請求。