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

        ?

        基于WDM的磁盤I/O收集器的設(shè)計與實現(xiàn)

        2011-03-15 01:22:46彭海云
        電視技術(shù) 2011年11期
        關(guān)鍵詞:收集器注冊表磁盤

        彭海云,李 亞

        (周口師范學(xué)院 計算機科學(xué)系,河南 周口 466001)

        0 引言

        隨著網(wǎng)絡(luò)的不斷發(fā)展,工作站和服務(wù)器也不斷增多,其提供的服務(wù)也越來越多,其中很重要的一個就是文件服務(wù)器。它為使用者提供文件儲存功能,用戶希望能夠快速訪問到自己經(jīng)常存儲在文件服務(wù)器上的文件,因此作為文件服務(wù)器,需要有好的性能,能夠提供快速、安全的訪問方式。這需要作為服務(wù)器的計算機除了本身具有比較好的性能外,還需要很好地去組織存儲在服務(wù)器磁盤的文件,把經(jīng)常被訪問的文件數(shù)據(jù)放在快速存儲器中(Cache)。I/O Trace收集器能夠在不影響服務(wù)器正常工作的情況下,收集I/O Trace信息,并將這些信息保存在日志文件中,然后分析器依據(jù)這些保存的信息進行分析,從而找出一些規(guī)律,將經(jīng)常被訪問到的數(shù)據(jù)保存在快速存儲器中,以優(yōu)化服務(wù)器的性能。目前也出現(xiàn)了一系列的比較成熟的產(chǎn)品,比如FileMon,它是基于文件級別的,也就是說它只是記錄經(jīng)常訪問的一些文件,并沒有具體的定位到文件中哪一部分,它所記錄的Trace信息不夠細膩,比如,如果一個文件很大,也許被經(jīng)常訪問的只是文件中的某一小部分,但它無法定位這一小部分數(shù)據(jù),也就無法只把這一小部分數(shù)據(jù)放入快速存儲器中而達到提升性能的目的?;赪DM的磁盤I/O Trace收集器是基于扇區(qū)級別實現(xiàn)的I/O Trace,它能夠知道硬盤上哪些扇區(qū)經(jīng)常被訪問到[1-4]。

        1 實現(xiàn)原理及模塊分解

        通過加載基于磁盤的WDM過濾驅(qū)動程序,截獲讀寫磁盤的I/O請求包,從請求包中獲取讀寫磁盤的信息(包括讀寫磁盤的起始扇區(qū)以及讀寫扇區(qū)的數(shù)目),然后通過另外一個線程將這些信息寫入日志文件中,見圖1。

        2 模塊的詳細分析

        I/O Trace收集器主要由兩個功能模塊組成,一個是獲取讀寫磁盤的信息,另一個是將獲取到的讀寫磁盤的信息寫入到日志文件中。

        模塊分解一:獲取讀寫磁盤信息。

        由于需要實現(xiàn)磁盤I/O Trace收集器,需要收集到系統(tǒng)讀寫磁盤的相關(guān)信息,因此就需要有一個模塊去獲取這些信息,當(dāng)前需要獲取的信息主要是讀寫磁盤的位置,這個位置是以扇區(qū)來定義的。這個模塊的輸入是讀寫磁盤的I/O請求包,輸出則是讀寫磁盤的起始扇區(qū)以及讀寫扇區(qū)的數(shù)目。

        模塊分解二:寫獲取的讀寫磁盤信息到日志文件。

        獲取到的讀寫磁盤的信息需要被記錄到日志文件中,然后相關(guān)的分析器就可以通過分析日志文件知道哪些扇區(qū)是經(jīng)常被訪問到的,于是就需要專門的模塊去完成寫信息到日志文件中。在這個磁盤I/O Trace收集器的實現(xiàn)中,寫信息到日志文件是用一個專門的系統(tǒng)線程去完成這個工作的。

        2.1 模塊間的數(shù)據(jù)流動

        首先基于磁盤的WDM過濾驅(qū)動程序分發(fā)例程(簡稱SCSI例程)將讀寫磁盤的I/O請求包傳給獲取讀寫磁盤的信息模塊,然后該模塊便返回獲取到的讀寫磁盤的信息,這時,SCSI例程將獲取讀寫磁盤的信息模塊返回的數(shù)據(jù)傳給寫獲取的讀寫磁盤的信息到日志文件模塊來完成讀寫磁盤信息的保存。

        2.2 運行動態(tài)分析

        當(dāng)系統(tǒng)需要讀寫磁盤時,I/O管理器會構(gòu)造一個I/O請求包,該請求包最終會被轉(zhuǎn)換格式并發(fā)給I/O Trace收集器對應(yīng)的WDM過濾驅(qū)動程序的SCSI例程,然后該例程調(diào)用獲取信息模塊來獲取讀寫磁盤的信息。再將獲取到的數(shù)據(jù)傳給寫日志文件模塊,該模塊先將這些數(shù)據(jù)封裝為鏈表的節(jié)點,插入到預(yù)先初始化好的鏈表中,然后返回SCSI例程,SCSI例程繼續(xù)傳遞該I/O請求包之的下層驅(qū)動程序以完成讀寫磁盤的操作。而讀寫磁盤的信息被插入到鏈表中以后,最終會被寫日志文件模塊對應(yīng)的一個系統(tǒng)線程從鏈表中取出,并將其中的數(shù)據(jù)寫入日志文件[5-6]。

        3 寫日志線程的實現(xiàn)

        日志線程完成需從鏈表中取出節(jié)點,將節(jié)點中的數(shù)據(jù)寫入日志文件。具體流程如圖2所示。

        4 磁盤I/O Trace收集器的安裝測試

        4.1 收集器的安裝

        由于機器啟動時加載驅(qū)動程序的順序是通過讀取注冊表來定義的,因此可以通過修改注冊表來使系統(tǒng)把過濾驅(qū)動程序加載到特定的地方去,如圖3所示。

        圖中LowerFilters鍵是為了安裝程序而新增加的,使系統(tǒng)在加載磁盤類驅(qū)動前,先加載Wdm1下層過濾驅(qū)動程序。這樣過濾驅(qū)動程序就能夠正常地安裝在正確的位置了。該圖對應(yīng)的注冊表的位置是HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E 967-E325-11CE-BFC1-08002BE10318}。

        修改了注冊表的這個位置,就完成了安裝過濾驅(qū)動程序最重要的操作,剩下的事情可以交給INF文件去完成。當(dāng)寫好相關(guān)的INF文件后,直接右鍵點擊INF文件,在彈出的菜單中選擇安裝選項即可完成安裝工作。

        安裝好以后可以查看注冊表的相關(guān)項,以了解INF文件究竟做了哪寫操作,其實INF文件主要的作用就是修改注冊表的相關(guān)位置,并將驅(qū)動程序(擴展名為sys的文件)復(fù)制到驅(qū)動程序目錄,并在該設(shè)備對應(yīng)的注冊表中設(shè)置驅(qū)動程序所在的位置與其他值。圖4顯示了磁盤I/O Trace收集器對應(yīng)的注冊表項。

        從圖中可以看出幾個比較重要的數(shù)據(jù)項,比如ImagePath便是描述驅(qū)動程序所在的位置,而Start的值為0表示該過濾驅(qū)動程序在機器啟動時便加載。其他值的功能在此不列舉。

        4.2 測試

        4.2.1 功能測試

        這個功能測試比較簡單,只要日志文件中記錄的扇區(qū)位置是正確的,便可以說明該磁盤I/O Trace收集器能夠正常地工作。從其中一個分區(qū)拷貝一個比較大的文件到另一個分區(qū),然后分析日志文件記錄下來的數(shù)據(jù),并計算這些扇區(qū)應(yīng)該位于哪個分區(qū),來判斷它的正確性,雖然測試方法有些粗糙,但經(jīng)過大量的測試和計算,發(fā)現(xiàn)分區(qū)的扇區(qū)范圍能夠?qū)?yīng)起來,也說明了所記錄數(shù)據(jù)的正確性。

        4.2.2 性能測試

        性能測試是通過軟件Iometer來進行測試的,圖5記錄的是寫磁盤時不安裝磁盤I/O Trace收集器與安裝磁盤I/O Trace收集器的性能對比,圖6記錄的是讀磁盤時兩者的性能對比。

        由圖5和圖6可以看出,安裝磁盤Trace收集器對磁盤的性能影響相當(dāng)小,接近1%,基本上可以忽略,不會對系統(tǒng)的性能產(chǎn)生很大的影響。因此,通過加載基于磁盤的WDM過濾驅(qū)動程序來實現(xiàn)I/O Trace收集器是可行的。

        5 設(shè)計中遇到的主要問題

        在設(shè)計磁盤I/O Trace收集器的過程中有兩個問題比較棘手,可能也是所有基于磁盤的WDM過濾驅(qū)動訪問文件時都會碰到的問題。

        1)延遲創(chuàng)建日志文件

        如果在DriverEntry例程中立即調(diào)用創(chuàng)建日志文件的例程,則會返回失敗,原因是系統(tǒng)尚未初始化完畢,很多服務(wù)尚不可用,解決的辦法是增加一定的延遲,跳過記錄系統(tǒng)啟動時讀取磁盤的信息。

        2)寫磁盤的遞歸問題

        寫磁盤的遞歸問題(因為有記錄就要寫磁盤,而寫磁盤又有記錄),這樣便產(chǎn)生了寫磁盤的遞歸問題。解決這個問題的方案是將日志文件數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送出去,或者在磁盤中專門劃分一塊區(qū)域來保存日志文件,這樣在寫的讀寫的范圍位于這塊專用的區(qū)域中時,則不記錄。

        6 小結(jié)

        本文設(shè)計并實現(xiàn)了基于WDM的磁盤I/O Trace的收集器,測試證明,該收集器能夠詳細記錄讀寫磁盤的信息,為優(yōu)化服務(wù)器讀寫性能提供了原始數(shù)據(jù)。近幾年,又出現(xiàn)了很多新的網(wǎng)絡(luò)應(yīng)用,比如網(wǎng)上點歌系統(tǒng)、視頻點播系統(tǒng),如果在這些系統(tǒng)上安裝Trace分析與收集器,就能夠?qū)⒑芏嗳它c播的一些歌曲以及視頻文件的數(shù)據(jù)存放在速度更快的存儲器中,這樣可以更好的提供服務(wù)。因此,I/O Trace收集與分析器具有廣闊的前景。

        [1]CANT C.Writing Windows WDM設(shè)備驅(qū)動程序開發(fā)指南[M].孫義,馬莉波,國雪飛,等譯.北京:機械工業(yè)出版社,2000.

        [2]BAKER A,LOZANO J.The Windows 2000 device driver book[M].2版.施諾,譯.北京:機械工業(yè)出版社,2001.

        [3]王峰博,崔慧娟.WDM設(shè)備驅(qū)動程序的研究及實現(xiàn)[J].計算機應(yīng)用,2003,23(6):98-100.

        [4]榮佳波,常明志,井科偉.USB設(shè)備的WDM驅(qū)動程序設(shè)計[J].應(yīng)用科技,2004,31(3):39-41.

        [5]吳力煒,葉念渝.Windows平臺下的設(shè)備驅(qū)動程序開發(fā)[J].計算機與數(shù)字工程,2007,35(3):196-198.

        [6]楊進,魏軼偉,賈惠波.存儲區(qū)域網(wǎng)的性能測試[J].計算機工程,2003(11):25-26.

        猜你喜歡
        收集器注冊表磁盤
        一種病房用24小時尿蛋白培養(yǎng)收集器的說明
        一種用于內(nèi)鏡干燥的酒精收集器的設(shè)計與應(yīng)用
        解決Windows磁盤簽名沖突
        電腦愛好者(2019年2期)2019-10-30 03:45:31
        修改磁盤屬性
        更上一層樓 用好注冊表編輯器
        磁盤組群組及iSCSI Target設(shè)置
        創(chuàng)建VSAN群集
        雷電收集器
        土壤重金屬收集器
        學(xué)習(xí)器揭開注冊表面紗
        移動一族(2009年3期)2009-05-12 03:14:30
        亚洲一区二区三区地址| 多毛小伙内射老太婆| 欧美牲交a欧美牲交aⅴ免费下载| 成人免费xxxxx在线观看| 免费无码a片一区二三区| 亚洲国产av导航第一福利网 | 在线你懂| 极品少妇一区二区三区四区视频| 亚洲肥婆一区二区三区| 国产精选自拍视频网站| 色天使综合婷婷国产日韩av| 无码一区二区三区在线| 亚洲日韩一区二区一无码| 国产精品三级在线专区1| 中文字幕中文一区中文字幕| 亚洲自拍偷拍一区二区三区| 久久久精品人妻一区二区三区妖精 | 国产亚洲aⅴ在线电影| 少妇高潮惨叫久久久久久电影| 少妇厨房愉情理伦片bd在线观看 | 国产色婷婷久久又粗又爽| 亚洲熟妇久久精品| 中国丰满熟妇xxxx性| 国产午夜福利精品| av中文字幕在线资源网| 日韩精品人妻一区二区三区蜜桃臀| 免费人成视频网站在在线| 女的扒开尿口让男人桶30分钟| 欧美性videos高清精品| 亚洲欧美v国产蜜芽tv| 精品国产一区二区三广区| 亚洲国产熟女精品传媒| 青青草国产精品一区二区| 播放灌醉水嫩大学生国内精品| 亚洲AⅤ乱码一区二区三区| 国产一区二区黑丝美胸| 一本大道道久久综合av| 日本精品少妇一区二区三区| 国产成人免费一区二区三区| 国产超碰人人一区二区三区| 色偷偷亚洲女人的天堂|