• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            IFS Kit下關于FastIo的OSR文檔翻譯(1)

            ?
            在論壇上一吃氣看完了XiangXiangRen的文件驅動發教程,當然XiangXiangRen還沒有寫完,其中關于Fast I/0還沒有講,所以我就向XiangXiangRen索要關于Fast I/0的部分,XiangXiangRen建議我把這個東東看一編,看完后還鼓勵我翻譯一份出來,大家共享,我就這么做了:)

            文筆不好,各位大俠多指點!希望大家看完后知道我在說什么:)

            使用Fast I/O

            在這里我們將講述Fast I/O的基本原理,簡單描述各種各樣的Fast I/O調用,以及得出如何使用此接口來提高程序性能的建議性結論。

            Windows NT內核模式開發的標準做法是采用IRP作為基本的與驅動程序通信的手段,它的優點是IRP封裝了上下文所需的詳細操作并且允許從驅動程序的眾多操作細節中分離出來。

            這個方法在windos NT的分層設備體系中非常通用,有相當多的上層操作請求需要快速響應,在這種情況下,上層操作生成IRP決定了整個操作的成本并會導致系統性能的下降。鑒于此,NT系統引入的Fast I/O的概念。這種方法被用在文件系統驅動,如NTFS,HPFS,FAT和CDFS以及被WinSock使用的傳輸驅動AFD。

            任何驅動都可以注冊一系列Fast I/O接口,但使用起來還有很大的限制―在這些接口被調之前需要滿足合適的條件。例如,讀操作和寫操作的Fast I/O接口只有當Windows NT cache管理器保留了文件的信息時才被調用。我們在接下的論述中將會講述這些限制。

            當然,Windows NT的Fast I/O最讓人郁悶的是關于它的資料很少,即使文件系統開發包也沒有講述Fast I/O是如何工作和怎樣來使用Fast I/O。

            原理

            提供了Fast I/O是非常方便的---許多I/O操作可以對相同的數據進行重復操作。例如和許多流行的操作系統一樣,Windows NT用虛擬內存集成了文件系統的緩沖,這樣的系統無論是在使用上還是在感覺上都很有效率。

            這種集成的另一原因是Windows NT支持內存映射文件。支持讀寫和內存映射相同的數據要么需要代價很高的cache一致性策略,要么使用NT的策略---將所有數據存儲在虛擬內存中。這樣,即便是兩個程序用不同的技術訪問相同的數據,也確保了數據的一致性。

            這種緊密的集成意味著無論是讀還是寫都經常是對cache中的數據來操作。在查找過程中,這種策略用來調用一個特殊的程序,此程序將虛擬機(VM)的cache中的數據移到用戶內存中,反之亦然。這樣就避免了生成IRP,并且不需要請求底層的驅動了。這就是Fast I/O操作的基本功能。

            一旦在程序中定義了Fast I/O讀寫接口,那么同時還需要進行一步添加其它的通用Fast I/O操作到Fast I/O鏈中,Fast I/O鏈中有13個接口(在NT3.51中)。在我們接下來要講的各接口過程中,你會明顯地發現各接口是互相關聯的。這些接口包含在FAST_IO_DISPATCH結構中,此結構在ntddk.h中有定義。這個結構的第一個元素表示結構的大小,為以后在結構添加新接口提供了一種向上兼容的機制。

            Feedback

            # re: IFS Kit下關于FastIo的OSR文檔翻譯(1)   回復  更多評論   

            2010-04-20 15:25 by jordan shoes
            The Nokia X86 Compiler and a modified GCCE compiler are automatically installed as part of the Symbian Foundation toolkits. You do not need to do anything to use these compilers from the IDE. The RVCT compiler is not part of the Kits and must be licensed and installed separately. See below for instructions on testing.
            最新久久免费视频| 精品国产婷婷久久久| 九九久久精品无码专区| 7国产欧美日韩综合天堂中文久久久久 | 精品国产乱码久久久久久浪潮| 久久99精品久久久久久水蜜桃| 一本久道久久综合狠狠躁AV| 蜜臀久久99精品久久久久久小说 | 国内精品久久人妻互换| 国产69精品久久久久99尤物| 亚洲va中文字幕无码久久 | 999久久久免费国产精品播放| 日日狠狠久久偷偷色综合96蜜桃| 久久精品中文闷骚内射| 亚洲国产精品成人久久蜜臀| 久久久久久亚洲AV无码专区| 国产精自产拍久久久久久蜜| 久久精品无码专区免费东京热 | 国产精品久久久久免费a∨| 久久被窝电影亚洲爽爽爽| 久久久久亚洲AV成人网人人网站| 久久精品一区二区影院| 亚洲国产成人久久综合碰碰动漫3d | 久久久久久夜精品精品免费啦| 日韩久久无码免费毛片软件| 欧美日韩中文字幕久久伊人| 久久精品人人槡人妻人人玩AV| 无码任你躁久久久久久久| 国产一级持黄大片99久久| 久久久久亚洲av无码专区导航| 久久天天躁狠狠躁夜夜躁2014| 精品久久久久久无码中文字幕| 久久99精品久久久久久| 97久久久精品综合88久久| 久久99热狠狠色精品一区| 久久综合给久久狠狠97色| 日本人妻丰满熟妇久久久久久| 色婷婷综合久久久久中文字幕| 久久精品国产一区二区三区| 少妇被又大又粗又爽毛片久久黑人| 97精品国产97久久久久久免费|