国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

符合SMBIOS規(guī)范的通用采集接口的實現(xiàn)

2010-07-27 06:40吳瑞睿
中國新技術(shù)新產(chǎn)品 2010年5期
關(guān)鍵詞:字符串解析規(guī)范

吳瑞睿 解 威

(沈陽理工大學(xué),遼寧 沈陽 110159)

1 引言

目前,實現(xiàn)計算機系統(tǒng)采集的方法有很多,相關(guān)標(biāo)準(zhǔn)包括:IETF 的 SNMP、DMTF(Distributed Management Task Force)的桌面管理接口 DMI(Desktop Management Interface)、基于Web的企業(yè)管理WBEM (Web-Based Enterprise Management)、SMBIOS (System Management BIOS)等。

其中,SMBIOS是主板或系統(tǒng)制造商以標(biāo)準(zhǔn)格式登記產(chǎn)品管理信息所需遵循的統(tǒng)一規(guī)范。DMI是幫助收集電腦系統(tǒng)信息的管理系統(tǒng),DMI信息的收集必須在嚴格遵照SMBIOS規(guī)范的前提下進行。

SMBIOS和DMI是由行業(yè)指導(dǎo)機構(gòu)DMTF起草的開放性的技術(shù)標(biāo)準(zhǔn),其中,DMI設(shè)計適用于任何的平臺和操作系統(tǒng)。DMI充當(dāng)了管理工具和系統(tǒng)層之間接口的角色。通過DMI,用戶可以獲取序列號、硬件廠商、串口信息以及其它系統(tǒng)配件信息。DMI通常將上述信息存儲在BIOS中一個4KB大小的DMI數(shù)據(jù)區(qū)中,這一數(shù)據(jù)區(qū)通常被稱為MIFD(Management Information Format Database)。它允許操作人員在該數(shù)據(jù)區(qū)中手工添加一些BIOS不能探測到的諸如使用者姓名、銷售商和計算機編號等額外的控制信息,因此也可以在不需要對BIOS進行操作的情況下,使用DMI對MIFD數(shù)據(jù)庫中的系統(tǒng)配置情況進行修改以適應(yīng)不同環(huán)境下的系統(tǒng)要求。

2 SMBIOS版本的識別

對于符合SMBIOS規(guī)范的計算機,可以通過訪問SMBIOS的結(jié)構(gòu)獲得系統(tǒng)信息,訪問方法共有兩種:

2.1 通過即插即用功能接口訪問SMBIOS結(jié)構(gòu),這個在SMBIOS 2.0標(biāo)準(zhǔn)里定義了,從SMBIOS 2.1開始這個訪問方法不再被推薦使用。

2.2 基于表結(jié)構(gòu)的方法,表內(nèi)容是Entry PointStructure(EPS)中的數(shù)據(jù),這個訪問方 法 從 SMBIOS 2.1以后開始被使用,從2.1開始,以后的版本都推薦使用這種訪問方式。在SMBIOS 2.1版本中允許支持這兩種方法中的任意一種或者兩種,但在SMBIOS 2.2以后的版本,必須支持第二種方法[1]。

SMBIOS有多個版本,目前最高的版本為2.5,于2006年9月5日發(fā)布,對于實驗機所使用的DMI版本,可使用Windows自帶的DEBUG程序來進行判斷。

(1)在 MSDOS窗口下,鍵入 DEBUG,回車。

(2)-s f000:0 ffff'_SM_'(SM 必須大寫),回車。

F000:A430

注:如果顯示了一個地址,顯示的地址可與本實例不同,則BIOS實現(xiàn)的是SMBIOS 2.1以上的版本。

如果在以上的地址范圍內(nèi)沒有找到給定的字符串,可以再嘗試以下的方法:

(1)在 MSDOS窗口下,鍵入 DEBUG,回車。

(2)-s f000:0 ffff'_DMI_'(DMI必須大寫),回車。

F000:A440

?

注:如果顯示了一個地址,顯示的地址可與本實例不同,則BIOS僅實現(xiàn)的是SMBIOS 2.0的版本.如果沒有回顯的地址,則說明對SMBIOS 2.0以上的版本都不支持。

如果進一步確認BIOS是實現(xiàn)的SMBIOS 2.1或是SMBIOS 2.2,須進行以下的操作:

(1)在 MSDOS窗口下,鍵入 DEBUG,回車。

(2)-d f000:a430,回車。

3 SMBIOS通用接口的設(shè)計

WMI(Windows管理規(guī)范:Windows Management Instrumentation)是 Microsoft基 于Web的企業(yè)管理(WBEM)的實現(xiàn),同時也是一種基于標(biāo)準(zhǔn)的系統(tǒng)管理接口[2]。WMI最早出現(xiàn)在Microsoft Windows 2000系統(tǒng)上,但它同樣可以安裝在Windows NT4.0和Windows 9x計算機上 [3]。WMI以CIMOM為基礎(chǔ),CIMOM即公共信息模型對象管理器(Common Information Model Object Manager),是一個描述操作系統(tǒng)構(gòu)成單元的對象數(shù)據(jù)庫,為MMC和腳本程序提供了一個訪問操作系統(tǒng)構(gòu)成單元的公共接口。有了WMI,工具軟件和腳本程序訪問操作系統(tǒng)的不同部分時不需要使用不同的API;相反,操作系統(tǒng)的不同部分都可以插入WMI,工具軟件和腳本也可以方便地讀寫 WMI[4]。

其中,SMBIOS提供層:利用WMI實現(xiàn)的COM接口,查找EPS表,確定SMBIOS的版本、SMBIOS的結(jié)構(gòu)表的起始地址以及SMBIOS結(jié)構(gòu)表的長度。然后,實現(xiàn)對底層物理內(nèi)存空間中的SMBIOS數(shù)據(jù)進行采集。

SMBIOS遍歷層:利用SMBIOS提供層提供的數(shù)據(jù),針對給出的TYPE值,進行相應(yīng)類型值的采集。確定類型的起始位置,以及結(jié)束位置。保存此類型的結(jié)構(gòu)表信息,提供給SMBIOS解析層。

SMBIOS解析層:調(diào)用相應(yīng)的類型處理函數(shù)來處理相應(yīng)的類型數(shù)據(jù),按照SMBIOS規(guī)范解析出表信息,傳遞給SMBIOS格式化顯示層。

SMBIOS格式化顯示層:將SMBIOS解析層提供的字符串,按照統(tǒng)一的格式顯示出來。

4 采集SMBIOS編程實現(xiàn)

本文所有程序都是在VC++6.0平臺上測試通過。遵循的是SMBIOS2.5版本規(guī)范。具體實現(xiàn)流程如下所示:

(1)所需的頭文件和靜態(tài)庫[5]

(2)初始化COM接口

使用WMI,必須先初始化COM接口,在程序的一開始調(diào)用 CoInitialize(NULL);或者調(diào)用CoInitializeEx(0,COINIT_MULTITHREA DED)

(3)初始化IwbemLocator接口IWbemLocator*pLoc=0;

(4)初始化IwbemServices接口。連接rootcimv2命名空間,獲得指向IwbemServices接口的指針。

(5)設(shè)置IwbemServices代理權(quán)限

?

(6)枚舉WBEM類對象指向SMBIOS表結(jié)構(gòu)

(7)獲得SMBIOS的主版本號和次版本號。

(8)獲得SMBIOS結(jié)構(gòu)表的起始地址。

下面以 TYPE 0(BIOS information)為例說明格式域和文本域的關(guān)系。

每個TYPE結(jié)構(gòu)都分為格式域和文本域,文本域與格式域相關(guān),直接位于格式域的后面,文本域中每個字符串的結(jié)束,都要以一個空字符(00h)作為結(jié)尾,整個字符串集合的結(jié)束,還要額外加上一個空字符。

采集SMBIOS TYPE 0數(shù)據(jù)如下:

根據(jù)上表給出的信息,可以知道類型是0h,格式域的長度為 24(18h),句柄為 0000h,偏移04h的是廠商信息,可以讀出的值是01h,這說明在文本域中的第一個字符串對應(yīng)的是BIOS生產(chǎn)廠商信息??梢砸勒沾朔▽YPE 0的信息解析出來。結(jié)論如下:

BIOS生產(chǎn)廠商:American Megatrends Inc.

BIOS版本號:080014

BIOS發(fā)布日期:01/29/2008

5 結(jié)論

因為SMBIOS是由計算機的硬件廠商來實現(xiàn),它較其它方法更能精確的采集硬件相關(guān)的數(shù)據(jù)。本文重點的介紹了符合SMBIOS規(guī)范的通用接口的設(shè)計和實現(xiàn)。旨在為桌面管理系統(tǒng)的數(shù)據(jù)采集提供一個全新的思路。

[1]DMTF.System Management BIOS(SMB IOS)Reference Specitication Version 2.5[S].2006

[2]Mary Jander.WBEM scheme final.Data Communications[J],1999,28(15):12

[3]姜勁松,吳禮發(fā).基于WMI的系統(tǒng)管理的設(shè)計與實現(xiàn)[J].計算機應(yīng)用,2004,24(3):16~18.

[4]李玉龍,孫麗麗.基于CIM的系統(tǒng)管理實現(xiàn)技術(shù)[J].蘭州交通大學(xué)學(xué)報,2004,23(6):85~86

[5]David S.Platt.深入理解COM+[M].潘愛民譯.北京:清華大學(xué)出版社,2002.

猜你喜歡
字符串解析規(guī)范
來稿規(guī)范
來稿規(guī)范
來稿規(guī)范
相機解析
一種新的基于對稱性的字符串相似性處理算法
依據(jù)字符串匹配的中文分詞模型研究
一種針對Java中字符串的內(nèi)存管理方案
睢宁县| 万山特区| 平乐县| 独山县| 九寨沟县| 福安市| 民丰县| 夏津县| 奇台县| 凌源市| 余干县| 德格县| 昭觉县| 武隆县| 会东县| 琼结县| 志丹县| 甘洛县| 昭觉县| 江津市| 孝感市| 公主岭市| 都安| 孝昌县| 密云县| 南溪县| 东海县| 景泰县| 钟祥市| 余庆县| 兰西县| 广汉市| 高台县| 乌拉特中旗| 新疆| 雷山县| 阜阳市| 芦溪县| 集贤县| 邮箱| 丹寨县|