亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        吳瑞睿 解 威

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

        1 引言

        目前,實現(xiàn)計算機(jī)系統(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信息的收集必須在嚴(yán)格遵照SMBIOS規(guī)范的前提下進(jìn)行。

        SMBIOS和DMI是由行業(yè)指導(dǎo)機(jī)構(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不能探測到的諸如使用者姓名、銷售商和計算機(jī)編號等額外的控制信息,因此也可以在不需要對BIOS進(jìn)行操作的情況下,使用DMI對MIFD數(shù)據(jù)庫中的系統(tǒng)配置情況進(jìn)行修改以適應(yīng)不同環(huán)境下的系統(tǒng)要求。

        2 SMBIOS版本的識別

        對于符合SMBIOS規(guī)范的計算機(jī),可以通過訪問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ā)布,對于實驗機(jī)所使用的DMI版本,可使用Windows自帶的DEBUG程序來進(jìn)行判斷。

        (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以上的版本都不支持。

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

        (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計算機(jī)上 [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ù)進(jìn)行采集。

        SMBIOS遍歷層:利用SMBIOS提供層提供的數(shù)據(jù),針對給出的TYPE值,進(jìn)行相應(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)廠商信息。可以依照此法將TYPE 0的信息解析出來。結(jié)論如下:

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

        BIOS版本號:080014

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

        5 結(jié)論

        因為SMBIOS是由計算機(jī)的硬件廠商來實現(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].計算機(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ī)范
        PDCA法在除顫儀規(guī)范操作中的應(yīng)用
        三角函數(shù)解析式中ω的幾種求法
        來稿規(guī)范
        睡夢解析儀
        電競初解析
        商周刊(2017年12期)2017-06-22 12:02:01
        相機(jī)解析
        一種新的基于對稱性的字符串相似性處理算法
        依據(jù)字符串匹配的中文分詞模型研究
        久久午夜伦鲁鲁片免费| 又白又嫩毛又多15p| 亚洲成人中文| 亚洲日本人妻中文字幕| 高清在线有码日韩中文字幕| 亚洲av无码电影在线播放| 开心婷婷五月激情综合社区| 中文字幕无码免费久久9一区9| 美女福利视频在线观看网址| 一本色道久久hezyo无码| 特级婬片国产高清视频| 日韩精品网| 亚洲一区亚洲二区中文字幕| 久久天天躁夜夜躁狠狠85麻豆| 999久久久无码国产精品| 中文字幕永久免费观看 | 久亚洲一线产区二线产区三线麻豆| 欧美男生射精高潮视频网站| 人人狠狠综合久久亚洲| 国产精品情侣露脸av在线播放 | 国产乱码一区二区三区精品| 黄网站欧美内射| 国产精品99久久久精品免费观看| 亚洲国产精品成人一区二区三区 | 人妻中文字幕乱人伦在线| 在线va免费看成| 高潮社区51视频在线观看| 一区二区三区午夜视频在线 | 乱码av麻豆丝袜熟女系列| 国产成人免费a在线视频| 亚洲av有码精品天堂| 亚洲国产高清精品在线| 亚洲av国产精品色午夜洪2| 国产精品久久中文字幕第一页| 日本免费播放一区二区| 国产精品无码久久综合网| 福利一区在线观看| 美腿丝袜中文字幕在线观看| 人妻少妇看a偷人无码| 国产乱妇乱子视频在播放| 亚洲国产免费公开在线视频|