朱賀新,王正鵬
(1.北京工業(yè)職業(yè)技術(shù)學(xué)院 信息工程系,北京100042;2.瞬聯(lián)軟件科技 (北京)有限公司,北京100102)
系統(tǒng)管理基本輸入輸出系統(tǒng) (system management basic input output system,SMBIOS)負(fù)責(zé)收集系統(tǒng)信息,提供給操作系統(tǒng),用于操作系統(tǒng)安裝與管理。由于計(jì)算機(jī)涉及的軟硬件種類(lèi)繁多,每種設(shè)備的品牌、型號(hào)、版本各不相同,各種配置的組合致使機(jī)型數(shù)目巨大,操作系統(tǒng)無(wú)法根據(jù)各種機(jī)型逐一定制,因此需要SMBIOS的支持。從計(jì)算機(jī)分層設(shè)計(jì)角度出發(fā),操作系統(tǒng)不會(huì)直接掃描全部計(jì)算機(jī)固件和硬件,他需要基本輸入輸出系統(tǒng) (basic input output system,BIOS)的支持,BIOS負(fù)責(zé)初始化硬件設(shè)備,收集計(jì)算機(jī)系統(tǒng)信息和引導(dǎo)操作系統(tǒng)。BIOS中的系統(tǒng)軟硬件基本信息將以SMBIOS的形式組織,并提供給操作系統(tǒng)訪(fǎng)問(wèn)。SMBIOS是BIOS的核心組成部分之一,是計(jì)算機(jī)系統(tǒng)不可或缺的部分。目前有關(guān)SMBIOS的研究多集中在SMBIOS所提供信息的應(yīng)用,如通過(guò)讀取SMBIOS表用于生成隨機(jī)數(shù)并加密[1],讀取特定表項(xiàng)并分析以讀取系統(tǒng)固件[2],使用表項(xiàng)進(jìn)行雜湊并數(shù)字簽名[3],傳輸整個(gè)SMBIOS表[4]。有關(guān)架構(gòu)設(shè)計(jì)及實(shí)現(xiàn)方法的資料比較缺乏,工程師在開(kāi)發(fā)SMBIOS過(guò)程很難獲得指導(dǎo)其開(kāi)發(fā)的相關(guān)資料,而SMBIOS的開(kāi)發(fā)與客戶(hù)化定制是目前工程應(yīng)用中研發(fā)熱點(diǎn)與難點(diǎn)之一,本文源自實(shí)際工程應(yīng)用,針對(duì)研發(fā)過(guò)程,系統(tǒng)介紹SMBIOS架構(gòu)和參考實(shí)現(xiàn),從而為SMBIOS研發(fā)工程師及相關(guān)領(lǐng)域的研究提供指導(dǎo)。
BIOS介于硬件和操作系統(tǒng)之間,負(fù)責(zé)系統(tǒng)加電自檢,硬件設(shè)備初始化,執(zhí)行驅(qū)動(dòng)和某些應(yīng)用程序,收集系統(tǒng)信息,屏蔽硬件差異,引導(dǎo)操作系統(tǒng)并提供系統(tǒng)調(diào)用。統(tǒng)一可擴(kuò) 展 固 件 接 口 (unified extensible firmware interface,UEFI)是替代傳統(tǒng)BIOS的升級(jí)方案[5]。UEFI規(guī)范定義了固件于固件之間,固件與操作系統(tǒng)之間的接口與服務(wù),相比傳統(tǒng)BIOS,UEFI采用全新的架構(gòu)與模塊化設(shè)計(jì)[6]的理念;具有豐富的可擴(kuò)展性,良好的兼容性,絕大多數(shù)采用C語(yǔ)言開(kāi)發(fā),易于開(kāi)發(fā)與維護(hù),UEFI規(guī)范中已定義SMBIOS_TABLE_GUID用來(lái)定位SMBIOS表因而本文在UEFI的基礎(chǔ)上設(shè)計(jì)SMBIOS。
系統(tǒng)管理BIOS (system management BIOS,SMBIOS)規(guī)范定義了用戶(hù)或者應(yīng)用程序存儲(chǔ)和訪(fǎng)問(wèn)計(jì)算機(jī)系統(tǒng)信息的一系列數(shù)據(jù)結(jié)構(gòu) (即信息存放格式)以及訪(fǎng)問(wèn)方法[7](例如如何在系統(tǒng)中獲得SMBIOS所描述的計(jì)算機(jī)系統(tǒng)信息),是主板或系統(tǒng)制造者以標(biāo)準(zhǔn)格式顯示產(chǎn)品管理信息所需遵循的統(tǒng)一規(guī)范。根據(jù)SMBIOS規(guī)范,系統(tǒng)管理者可以獲取系統(tǒng)各部件的型號(hào),參數(shù)設(shè)置,所處狀態(tài)等一系列信息,通常SMBIOS實(shí)現(xiàn)至少包含BIOS,整機(jī),主板,內(nèi)存,CPU,端口和集成設(shè)備的詳細(xì)信息。
SMBIOS的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)由兩部分構(gòu)成:入口結(jié)構(gòu)(Entry Point Structure,EPS)表和SMBIOS數(shù)據(jù)表,EPS表對(duì)SMBIOS版本,SMBIOS數(shù)據(jù)表在內(nèi)存中存儲(chǔ)位置,長(zhǎng)度等信息進(jìn)行說(shuō)明。SMBIOS數(shù)據(jù)表對(duì)計(jì)算機(jī)系統(tǒng)各組件的數(shù)據(jù)存儲(chǔ)及結(jié)構(gòu)進(jìn)行詳細(xì)說(shuō)明。SMBIOS EPS表部分結(jié)構(gòu)見(jiàn)表1。
表1 EPS結(jié)構(gòu)
通過(guò)EPS表結(jié)構(gòu)中的16H以及18H處,獲得數(shù)據(jù)表長(zhǎng)度和數(shù)據(jù)表地址,即可訪(fǎng)問(wèn)結(jié)構(gòu)表。從EPS表中的1CH處可得知SMBIOS數(shù)據(jù)表表項(xiàng)的總數(shù)。
為實(shí)現(xiàn)對(duì)SMBIOS規(guī)范的支持,基于固件和軟件相關(guān)規(guī)范設(shè)計(jì)了SMBIOS系統(tǒng)架構(gòu),如圖1所示。
圖1 SMBIOS系統(tǒng)架構(gòu)
SMBIOS核心服務(wù)部分主要需要完成兩方面功能,首先將負(fù)責(zé)創(chuàng)建EPS并將其注冊(cè)到固件系統(tǒng);其次需要提供SMBIOS表項(xiàng)的操作接口,操作接口需要完成如下方面功能:添加SMBIOS數(shù)據(jù)表項(xiàng);更新表項(xiàng)中字符串信息;刪除數(shù)據(jù)表項(xiàng);查找獲取某數(shù)據(jù)表項(xiàng)。
SMBIOS數(shù)據(jù)表定制部分需要?jiǎng)討B(tài)收集或靜態(tài)填充相關(guān)規(guī)范所定義的數(shù)據(jù)表項(xiàng)信息,并調(diào)用SMBIOS核心服務(wù)部分提供的操作接口將組織好的SMBIOS表項(xiàng)添加到SMBIOS表中。該部分負(fù)責(zé)SMBIOS表項(xiàng)安裝功能,提供針對(duì)特定環(huán)境或系統(tǒng)客戶(hù)定制話(huà)開(kāi)發(fā),該部分至少需要包括如下信息:BIOS廠商信息,版本信息,編譯時(shí)間;BIOS制造商名稱(chēng),產(chǎn)品名稱(chēng),產(chǎn)品序列號(hào);主板制造商信息,序列號(hào);SMBIOS結(jié)束表。
操作系統(tǒng)及應(yīng)用部分將根據(jù)UEFI提供的接口和傳遞的數(shù)據(jù),訪(fǎng)問(wèn)SMBIOS數(shù)據(jù)表內(nèi)容。
UEFI系統(tǒng)維護(hù)著一張系統(tǒng)表 (system table),每個(gè)UEFI驅(qū)動(dòng)程序或應(yīng)用程序的程序入口參數(shù)都包含該表信息,它包含了UEFI系統(tǒng)的服務(wù)與信息,主要的服務(wù)包括引導(dǎo)時(shí)服務(wù) (boot service)和運(yùn)行時(shí)服務(wù) (runtime service),通過(guò)這兩種服務(wù)可以獲取UEFI多數(shù)資源。System table同時(shí)也包括各種固件版本信息、錯(cuò)誤信息等,系統(tǒng)配置信息表 (EFI configuration table)也包含在系統(tǒng)表中,常用的工業(yè)規(guī)范都將在本表中描述。如高級(jí)電源管理接口[8]、SMBIOS。各系統(tǒng)配置表的表項(xiàng)采用全局唯一標(biāo)識(shí)符(globally unique identifier,GUID)與各表項(xiàng)內(nèi)容對(duì)應(yīng),通過(guò)該唯一的GUID可以訪(fǎng)問(wèn)到各表信息。
UEFI規(guī)范僅對(duì)其進(jìn)行功能與接口定義,無(wú)相關(guān)實(shí)現(xiàn)方案。相關(guān)參考代碼僅對(duì)System table給出了框架實(shí)現(xiàn),系統(tǒng)配置信息表中并沒(méi)有具體的信息表或工業(yè)規(guī)范表,我們所需要的SMBIOS表也沒(méi)有創(chuàng)建。此時(shí)我們需要將SMBIOS表實(shí)現(xiàn),并且注冊(cè)到系統(tǒng)配置信息表中,并且以gE-fiSmbiosTableGuid為識(shí)別標(biāo)識(shí)。下面具體介紹如何在UEFI中實(shí)現(xiàn)SMBIOS表。
UEFI核心代碼 (foundation code)已搭建UEFI框架,已經(jīng)實(shí)現(xiàn)EFI系統(tǒng)表的主體部分,且創(chuàng)建了運(yùn)行UEFI所需的基礎(chǔ)協(xié)議 (PROTOCOL)。此時(shí)的UEFI系統(tǒng)基本可以運(yùn)行,但對(duì)于各工業(yè)規(guī)范尚未全部支持,客戶(hù)定制化功能缺乏。
SMBIOS的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)由EPS表和SMBIOS數(shù)據(jù)表構(gòu)成,其中EPS部分通過(guò)gEfiSmbiosTalbeGuid可以直接定位。SMBIOS數(shù)據(jù)表可以通過(guò)ESP中的指針尋址并定位。SMBIOS在內(nèi)存中以特定的字符標(biāo)識(shí),而這些特定字符定義在EPS表中,按照SMBIOS規(guī)范定義EPS數(shù)據(jù)結(jié)構(gòu)如圖2所示。其中 AnchorString的值為 “_SM _”,IntermediateAnchorString的值為 “_DMI_”,在查詢(xún)SMBIOS表時(shí),我們可以在區(qū)域內(nèi)存中搜索這兩個(gè)標(biāo)識(shí)來(lái)定位SMBIOS表。
圖2 EPS數(shù)據(jù)結(jié)構(gòu)
在SMBIOS規(guī)范實(shí)現(xiàn)時(shí)需要將上述結(jié)構(gòu)體中定義的各項(xiàng)均填充完整,由于命名顯而易見(jiàn)各域所代表的內(nèi)容,此處不贅述,僅著重說(shuō)明一個(gè)域---TableAddress,該地址標(biāo)識(shí)實(shí)際的表項(xiàng) (即SMBIOS Table Type)在內(nèi)存中的物理地址。只要找到這個(gè)地址,即可根據(jù)SMBIOS規(guī)范所定義的各個(gè)表項(xiàng)的數(shù)據(jù)結(jié)構(gòu)解析。
根據(jù)箱梁的幾何尺寸,建立ANSYS實(shí)體計(jì)算模型。雙面組合連續(xù)箱梁有限元模型如圖2所示,橫截面如圖3所示。本文采用三維六面體映射網(wǎng)格劃分的方法,截面網(wǎng)格劃分基本與二維模型相同,縱向單元長(zhǎng)度約為0.3 m。模型單元總數(shù)為38 812個(gè),節(jié)點(diǎn)數(shù)為66 823個(gè)。
為實(shí)現(xiàn)上述架構(gòu)所設(shè)計(jì)的SMBIOS核心服務(wù),需要使用一個(gè)UEFI的驅(qū)動(dòng)程序,采用Protocol的形式,提供一組SMBIOS核心服務(wù),gEfiSmbiosProtocolGuid作為該服務(wù)的唯一標(biāo)識(shí),定義如下:
UEFI系統(tǒng)中任意階段和位置只要該SMBIOS Protocol已通過(guò)InstallProtocolInterface安裝到UEFI系統(tǒng)中,即可通過(guò)gEfiSmbiosProtocolGuid獲取到SMBIOS相關(guān)的服務(wù)。針對(duì)核心服務(wù)功能需求定義增加數(shù)據(jù)表項(xiàng),更新字符串,移除表項(xiàng),獲取表項(xiàng)接口。
SmbiosAdd函數(shù)能將Record的內(nèi)容添加到已有的SMBIOS Record之后,并返回新添加到Record的句柄SmbiosHandle,該句柄是作為此Record的身份識(shí)別標(biāo)志,在后續(xù)移除某項(xiàng)紀(jì)錄或添加字符串,都需要使用該句柄。該函數(shù)將實(shí)現(xiàn)SMBIOS各表項(xiàng) (Item)或者不同類(lèi)型的表(Type)的添加,實(shí)現(xiàn)表項(xiàng)的增加,原型定義如下:
SmbiosUpdateString函數(shù)根據(jù)將使用This指針將待寫(xiě)入的字符串信息 (String),根據(jù)已有Record紀(jì)錄所對(duì)應(yīng)句柄 (SmbiosHandle),寫(xiě)入到對(duì)應(yīng)的位置 (StringNumber參數(shù)所指示位置)。該函數(shù)將實(shí)現(xiàn)SMBIOS各表項(xiàng) (Item)或表 (Type)中字符串的添加功能,原型定義如下:
SmbiosRemove()和SmbiosGetNext()原型定義與SmbiosAdd(),SmbiosUpdateString()類(lèi)似,原型在此不額外贅述,僅對(duì)參數(shù)及功能進(jìn)行說(shuō)明:SmbiosRemove函數(shù)根據(jù)將使用This將句柄SmbiosHandle所指示的的SMBIOS表項(xiàng)從SMBIOS整體表結(jié)構(gòu)中移除。SmbiosGet-Next將使用This通過(guò)給定的參數(shù),查找SmbiosHandle的下一個(gè)表項(xiàng),并返回該表項(xiàng)所對(duì)應(yīng)的句柄。如果Smbios-Handle輸入值為0,則表示返回第一個(gè)SMBIOS Record所對(duì)應(yīng)的句柄。返回句柄為0時(shí),表示此時(shí)SMBIOS不存在SMBIOS Record,簡(jiǎn)而言之,此刻無(wú)SMBIOS表項(xiàng)。
當(dāng)上述核心服務(wù)函數(shù)各自功能完成之后,需要將上述服務(wù)安裝到UEFI系統(tǒng)之中,且于預(yù)先定義的gEfiSmbiosProtocolGuid相關(guān)聯(lián),可以通過(guò)UEFI提供的系統(tǒng)服務(wù)InstallProtocolInterface實(shí)現(xiàn)SMBIOS核心服務(wù)函數(shù)與gE-fiSmbiosProtocolGuid關(guān)聯(lián)并安裝到UEFI系統(tǒng)之中。具體實(shí)現(xiàn)如圖3所示。
圖3 核心服務(wù)安裝
本部分最重要的工作是通過(guò)gEfiSmbiosProtocolGuid定位到一個(gè)可以使用的實(shí)例 (instance),并通過(guò)該實(shí)例調(diào)用SMBIOS核心服務(wù),通過(guò)SmbiosAdd()和SmbiosUpdateString()核心服務(wù)添加表項(xiàng)和字符串。為便于客戶(hù)化定制,我們?cè)O(shè)計(jì)一個(gè)單獨(dú)的驅(qū)動(dòng)程序來(lái)完成該任務(wù)。該驅(qū)動(dòng)的入口點(diǎn)為SmBiosTableDxeInitialize。如圖4所示。
圖4 數(shù)據(jù)表定制
第一個(gè)方框表示程序的入口地址及入口參數(shù),系統(tǒng)表指針即通過(guò)第二個(gè)參數(shù)傳入,當(dāng)需要使用系統(tǒng)服務(wù)的時(shí)候可以通過(guò)SystemTable參數(shù)獲取,如需要使用運(yùn)行時(shí)服務(wù)可以通過(guò)gBS=SystemTable->BootServices的方法獲得。第二個(gè)方框完成的主要工作是通過(guò)gEfiSmbiosProtocolGuid定位到一個(gè)可以使用的Smbios實(shí)例,后續(xù)的表項(xiàng)添加刪除及定位操作都需要使用Smbios實(shí)例;第三個(gè)方框所封裝的行數(shù)將通過(guò)調(diào)用SmbiosAdd(),SmbiosUpdateString()等將收集到的系統(tǒng)硬件固件各狀態(tài)、版本等信息填充到各個(gè)表項(xiàng)并安裝至UEFI系統(tǒng)配置表。
各表項(xiàng)安裝原理相似,都是先將該表項(xiàng)的表頭添加通過(guò)SmbiosAdd()核心服務(wù)添加到現(xiàn)有的SMBIOS表中,然后通過(guò)SmbiosUpdateString()更新具體的字符串,下面已SMBIOS規(guī)范規(guī)定的某一個(gè)表項(xiàng) (類(lèi)型3)進(jìn)行簡(jiǎn)單說(shuō)明。如圖5所示。
圖5 數(shù)據(jù)表項(xiàng)
UpdateSysEnclosureInfoTable函數(shù)將創(chuàng)建一個(gè)表項(xiàng)(type 3),它將在創(chuàng)建SMBIOS Table表項(xiàng)時(shí)被調(diào)用,見(jiàn)圖4最后一行代碼顯示調(diào)用。本函數(shù)使用SmbiosAdd()核心服務(wù)通過(guò)Smbios->Add的形式將smbiosSysEnclosureInfo實(shí)例添加到表項(xiàng),并返回SysEnclosureHandle句柄以供后續(xù)更新字符串或刪除表項(xiàng)使用;同時(shí)使用更新字符串核心服務(wù)將Test Manufacturer[My Paper Co.,Ltd.]和 Test String Version Number 1.0.0For My Paper更新到SysEnclosureHandle所對(duì)應(yīng)的表項(xiàng)。
對(duì)于本文所的設(shè)計(jì)方案,已進(jìn)行相關(guān)的代碼測(cè)試及實(shí)際運(yùn)行環(huán)境驗(yàn)證,相關(guān)的測(cè)試與驗(yàn)證結(jié)果如下:
UEFI提供了一套類(lèi)似于Linux shell的環(huán)境,可用來(lái)代碼驗(yàn)證和測(cè)試:我們?cè)赨EFI shell[9]環(huán)境下讀取出整個(gè)SMBIOS Table的內(nèi)容,其中有關(guān) UpdateSysEnclosureInfoTable()部分所寫(xiě)入的字符串信息截圖如圖6所示。
圖6 UEFI Shell驗(yàn)證結(jié)果
圖6右側(cè)方框即為UpdateSysEnclosureInfoTable()函數(shù)所寫(xiě)入的字符串信息的Ascii碼顯示,而其左側(cè)則為對(duì)應(yīng)的二進(jìn)制顯示信息,通過(guò)SMBIOS Table解析程序解析完該 表 后 可見(jiàn)該表 類(lèi) 型 為 System Enclosure (Type 3),Manufacturer為 Test Manufacturer[My Paper Co.,Ltd.],版本 信 息 為:Test String Version Number 1.0.0For My Paper,至于其他信息暫時(shí)沒(méi)有填充全面,但作為真實(shí)的對(duì)外銷(xiāo)售產(chǎn)品,其余各項(xiàng)已被補(bǔ)全。
使用 Win32 系統(tǒng)函數(shù) GetSystemFirmwareTable[10-11]也可以去讀SMBIOS信息。如圖7所示,在windows控制臺(tái)(cmd.exe)下運(yùn)行讀取SMBIOS的可執(zhí)行文件,打印出整個(gè)SMBIOS表。本程序僅顯示出整個(gè)SMBIOS表,并未逐項(xiàng)解析各表。(由于涉及所使用的真實(shí)硬件平臺(tái)某項(xiàng)私密信息,故將某些部分模糊化處理)為了便于閱讀與理解,此處都是以Ascii形式輸出,由于每個(gè)表項(xiàng)皆有各自表頭,表頭信息打印出來(lái)的不一定是可讀的Ascii碼,故比較凌亂。
圖7 Win32API驗(yàn)證結(jié)果
Windows下微軟也提供了相應(yīng)的 組件讀取SMBIOS Table的內(nèi)容,我們可以使用 WMI[12](Windows Management Instrumentation)讀取SMBIOS信息;圖8是基于WMI的Win 32控制臺(tái)程序的運(yùn)行結(jié)果。該程序?qū)Ω黝?lèi)型的SMBIOS表項(xiàng)進(jìn)行了解析,劃線(xiàn)部分內(nèi)容為Update-SysEnclosureInfoTable()函數(shù)所寫(xiě)入字符串信息。
圖8 WMI驗(yàn)證結(jié)果
綜上各環(huán)境下的運(yùn)行結(jié)果可見(jiàn)此設(shè)計(jì)方案具有可行性,在UEFI shell和Windows下均可被各自系統(tǒng)識(shí)別且運(yùn)行結(jié)果與期望結(jié)果一直。
本設(shè)計(jì)適用于基于UEFI的SMBIOS相關(guān)的研究與開(kāi)發(fā)。由于采用分層設(shè)計(jì)且符合UEFI規(guī)范,較傳統(tǒng)BIOS實(shí)現(xiàn)本設(shè)計(jì)可通過(guò)GUID定位SMBIOS并讀取其內(nèi)容;模塊化設(shè)計(jì)易于開(kāi)發(fā)、集成與測(cè)試,核心服務(wù)與SMBIOS數(shù)據(jù)表分離的設(shè)計(jì),Protocol形式提供核心服務(wù),簡(jiǎn)單易用;SMBIOS數(shù)據(jù)表采用單獨(dú)驅(qū)動(dòng)實(shí)現(xiàn),方便擴(kuò)充數(shù)據(jù)表內(nèi)容及客戶(hù)化定制。本文已進(jìn)行代碼實(shí)現(xiàn)且在真實(shí)平臺(tái)上正確運(yùn)行,對(duì)設(shè)計(jì)方案進(jìn)行全面的驗(yàn)證,確保設(shè)計(jì)可行性與可實(shí)現(xiàn)性。由于BIOS異常將導(dǎo)致計(jì)算機(jī)無(wú)法啟動(dòng),后續(xù)需要提升程序容錯(cuò)能力,錯(cuò)誤恢復(fù)與旁路 (by pass)以增強(qiáng)程序健壯性。
[1]LI Mogang.The software protection research based on SMBIOS[D].Lanzhou:Lanzhou University,2008:14-25 (in Chinese).[李模剛.基于SMBIOS的軟件保護(hù)研究 [D].蘭州:蘭州大學(xué),2008:14-25.]
[2]WANG Xiaozhen,ZHOU Zhenliu,LIU Baoxu.Design and implementation of BIOS sampling and analyzing system [J].Computer Engineering,2011,37 (11):2-3 (in Chinese).[王曉箴,周振柳,劉寶旭.BIOS采樣分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2011,37 (11):2-3.]
[3]Currid Andrew,Overby Mark A.System and method to accelerate identification of hardware platform classes [P].United States:US2008043000,2008-02-21.
[4]Shah Hemal V,Hurd Stephen,Swindell Robert R.Method and system for a platform level data model and messages for transferring SMBIOS structures and data [P].United States:US2009019278,2009-01-15.
[5]ZHANG Ying,ZHOU Changsheng.Analysis and development of USB device driver on UEFI [D].Dalian:Publishing House of Electronics Industry,2009:217-220 (in Chinese). [張穎,周長(zhǎng)勝.基于可擴(kuò)展固件接口的USB設(shè)備驅(qū)動(dòng)的開(kāi)發(fā)與研究[D].大連:電子工業(yè)出版社,2009:217-220.]
[6]UEFI Inc.Unified extensible firmware interface specification version2.3 [EB/OL]. [2012-11-13].http://sourceforge.net/,2009/.
[7]DMFT Inc.System management BIOS (SMBIOS)reference specification version 2.7.1 [EB/OL].[2012-11-13].http://www.dmtf.org/,2011-01-26/.
[8]Hewlett Packard Corp,Intel Corp,Microsoft Corp,et al.ACPI specification [EB/OL]. [2012-11-13].http://www.acpi.info/spec.htm,2011/.
[9]U EFI Inc.Shell command reference manual revision 2.0 [EB/OL].[2012-11-13].http://sourceforge.net/,2008/.
[10]Microsoft Corp.Get system firmware table function(Windows)[EB/OL]. [2012-11-13].http://msdn.microsoft.com/en-us/library/windows/desktop/ms724379 (v=vs.85).aspx,2012-10-16/.
[11]Microsoft Corp.SMBIOS support in Windows [EB/OL].[2012-11-13]. http://msdn.microsoft.com/en-us/library/windows/hardware/gg463136.aspx,2005-04-25/.
[12]XIE Wei.Design and implementation of multichannel data collecting system [D].Shenyang:Shenyang Ligong University,2010:44-52 (in Chinese).[解威.多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].沈陽(yáng):沈陽(yáng)理工大學(xué),2010:44-52.]