• <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.¢%

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

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

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

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

            使用Fast I/O

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

            Windows NT內(nèi)核模式開發(fā)的標(biāo)準(zhǔn)做法是采用IRP作為基本的與驅(qū)動(dòng)程序通信的手段,它的優(yōu)點(diǎn)是IRP封裝了上下文所需的詳細(xì)操作并且允許從驅(qū)動(dòng)程序的眾多操作細(xì)節(jié)中分離出來。

            這個(gè)方法在windos NT的分層設(shè)備體系中非常通用,有相當(dāng)多的上層操作請(qǐng)求需要快速響應(yīng),在這種情況下,上層操作生成IRP決定了整個(gè)操作的成本并會(huì)導(dǎo)致系統(tǒng)性能的下降。鑒于此,NT系統(tǒng)引入的Fast I/O的概念。這種方法被用在文件系統(tǒng)驅(qū)動(dòng),如NTFS,HPFS,F(xiàn)AT和CDFS以及被WinSock使用的傳輸驅(qū)動(dòng)AFD。

            任何驅(qū)動(dòng)都可以注冊(cè)一系列Fast I/O接口,但使用起來還有很大的限制―在這些接口被調(diào)之前需要滿足合適的條件。例如,讀操作和寫操作的Fast I/O接口只有當(dāng)Windows NT cache管理器保留了文件的信息時(shí)才被調(diào)用。我們?cè)诮酉碌恼撌鲋袑?huì)講述這些限制。

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

            原理

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

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

            這種緊密的集成意味著無論是讀還是寫都經(jīng)常是對(duì)cache中的數(shù)據(jù)來操作。在查找過程中,這種策略用來調(diào)用一個(gè)特殊的程序,此程序?qū)⑻摂M機(jī)(VM)的cache中的數(shù)據(jù)移到用戶內(nèi)存中,反之亦然。這樣就避免了生成IRP,并且不需要請(qǐng)求底層的驅(qū)動(dòng)了。這就是Fast I/O操作的基本功能。

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

            Feedback

            # re: IFS Kit下關(guān)于FastIo的OSR文檔翻譯(1)   回復(fù)  更多評(píng)論   

            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.
            久久久www免费人成精品| 内射无码专区久久亚洲| 久久九九亚洲精品| 91精品国产91热久久久久福利| 精品国产青草久久久久福利| 亚洲国产成人久久综合一区77| 亚洲午夜久久久久久久久电影网| 久久66热人妻偷产精品9| 精品国产一区二区三区久久蜜臀| 久久经典免费视频| 国产欧美久久一区二区| 久久人人爽人人爽人人片AV麻豆 | 怡红院日本一道日本久久 | 久久精品国产亚洲精品2020| 久久久久久久综合日本亚洲 | 噜噜噜色噜噜噜久久| 国产婷婷成人久久Av免费高清| 激情综合色综合久久综合| 性欧美大战久久久久久久久| 99热精品久久只有精品| 亚洲国产精品无码久久SM| 亚洲国产精品热久久| 日本欧美久久久久免费播放网 | 久久人人爽人人爽AV片| 久久国产亚洲精品无码| 综合久久精品色| 亚洲国产精品久久66| 久久久一本精品99久久精品88| 久久九九久精品国产| 国产精品美女久久久| 一本色道久久88精品综合 | 久久精品国内一区二区三区| 日产精品久久久久久久| 久久久久国产精品三级网| 国产精品久久久久9999高清| 囯产极品美女高潮无套久久久| 久久天天躁狠狠躁夜夜不卡| 久久国产精品久久| 国内精品久久久久影院优| 天天躁日日躁狠狠久久| 久久无码AV一区二区三区|