999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2011-03-15 01:22:46彭海云
電視技術(shù) 2011年11期
關(guān)鍵詞:信息

彭海云,李 亞

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

0 引言

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

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

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

2 模塊的詳細(xì)分析

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

模塊分解一:獲取讀寫(xiě)磁盤(pán)信息。

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

模塊分解二:寫(xiě)獲取的讀寫(xiě)磁盤(pán)信息到日志文件。

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

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

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

2.2 運(yùn)行動(dòng)態(tài)分析

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

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

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

4 磁盤(pán)I/O Trace收集器的安裝測(cè)試

4.1 收集器的安裝

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

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

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

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

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

4.2 測(cè)試

4.2.1 功能測(cè)試

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

4.2.2 性能測(cè)試

性能測(cè)試是通過(guò)軟件Iometer來(lái)進(jìn)行測(cè)試的,圖5記錄的是寫(xiě)磁盤(pán)時(shí)不安裝磁盤(pán)I/O Trace收集器與安裝磁盤(pán)I/O Trace收集器的性能對(duì)比,圖6記錄的是讀磁盤(pán)時(shí)兩者的性能對(duì)比。

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

5 設(shè)計(jì)中遇到的主要問(wèn)題

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

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

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

2)寫(xiě)磁盤(pán)的遞歸問(wèn)題

寫(xiě)磁盤(pán)的遞歸問(wèn)題(因?yàn)橛杏涗浘鸵獙?xiě)磁盤(pán),而寫(xiě)磁盤(pán)又有記錄),這樣便產(chǎn)生了寫(xiě)磁盤(pán)的遞歸問(wèn)題。解決這個(gè)問(wèn)題的方案是將日志文件數(shù)據(jù)通過(guò)網(wǎng)絡(luò)發(fā)送出去,或者在磁盤(pán)中專門(mén)劃分一塊區(qū)域來(lái)保存日志文件,這樣在寫(xiě)的讀寫(xiě)的范圍位于這塊專用的區(qū)域中時(shí),則不記錄。

6 小結(jié)

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

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

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

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

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

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

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

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會(huì)信息
信息超市
展會(huì)信息
展會(huì)信息
展會(huì)信息
展會(huì)信息
展會(huì)信息
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 无码精品国产VA在线观看DVD| 亚洲精品男人天堂| 亚洲AV成人一区国产精品| 国产成人精品高清不卡在线| 中文字幕日韩丝袜一区| 日本国产精品一区久久久| 免费Aⅴ片在线观看蜜芽Tⅴ| 性做久久久久久久免费看| 制服丝袜亚洲| 色成人亚洲| 免费a级毛片视频| 国产伦片中文免费观看| 国产精品毛片在线直播完整版| 国产噜噜在线视频观看| 亚洲国产亚洲综合在线尤物| 在线不卡免费视频| 欧美性天天| 国产成人调教在线视频| 国产精品亚洲一区二区在线观看| 国产乱子伦视频在线播放| 亚洲天堂久久久| 成年av福利永久免费观看| 国产欧美日韩另类| 国产日韩欧美在线播放| 亚洲综合第一区| 伊人色在线视频| 99精品视频在线观看免费播放| 欧美激情网址| 在线欧美一区| 69视频国产| 伊人色天堂| 亚洲精品中文字幕无乱码| 成人在线不卡视频| 日本一区二区三区精品AⅤ| 亚洲国产综合自在线另类| 国产欧美日韩视频一区二区三区| 久久美女精品| 18禁黄无遮挡免费动漫网站| 中文字幕在线欧美| 国内精品自在欧美一区| a天堂视频在线| 免费毛片全部不收费的| 久久久久国产精品嫩草影院| 国产无码精品在线播放| 国产成人在线无码免费视频| 国产精品视频第一专区| 中文字幕人成人乱码亚洲电影| 国产精品亚洲专区一区| 欧美一区中文字幕| 亚洲人成人伊人成综合网无码| 中文无码精品a∨在线观看| 国产精品不卡永久免费| 日本亚洲成高清一区二区三区| 亚洲欧美日韩综合二区三区| 无码不卡的中文字幕视频| 亚洲精品国产精品乱码不卞| 中文一级毛片| a级毛片免费在线观看| 亚洲国产天堂久久九九九| 亚洲色图欧美在线| 制服丝袜在线视频香蕉| 国产精品美人久久久久久AV| 国产在线啪| 精品人妻系列无码专区久久| 国产精品 欧美激情 在线播放| 日韩专区欧美| 中文字幕啪啪| 2022精品国偷自产免费观看| 无码丝袜人妻| 亚洲国产亚综合在线区| 日韩第八页| 亚洲人成在线免费观看| 国产精品综合久久久| 国产成人艳妇AA视频在线| 999国产精品| 国产资源免费观看| 六月婷婷激情综合| 国产成人综合亚洲欧美在| 亚洲精品午夜天堂网页| 亚洲福利片无码最新在线播放| 久久精品这里只有国产中文精品 | 在线看片免费人成视久网下载|