位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C語(yǔ)言 > 問題詳情

C語(yǔ)言 標(biāo)準(zhǔn)文件與非標(biāo)準(zhǔn)文件

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-02

    CPU的計(jì)算速度遠(yuǎn)遠(yuǎn)高于外部磁盤,如果每次程序執(zhí)行時(shí),每讀取一個(gè)字節(jié)都到磁盤上去取數(shù)據(jù),就需要每次都啟動(dòng)CPU執(zhí)行讀寫磁盤操作:從磁盤中讀出一個(gè)數(shù)據(jù)調(diào)入到內(nèi)存中,再送往CPU計(jì)算。這樣效率會(huì)非常低,因?yàn)槊看巫x寫磁盤時(shí),就要中斷CPU正在進(jìn)行的工作,而去執(zhí)行磁盤操作,這樣大大降低了CPU的效率。因此,文件的讀寫通常使用緩沖技術(shù)。

    緩沖技術(shù)就是在內(nèi)存中為每一個(gè)需要進(jìn)行讀寫的文件開辟一塊緩沖區(qū),利用緩沖區(qū)完成文件操作。這樣就把頻繁的磁盤操作轉(zhuǎn)換為對(duì)內(nèi)存的讀寫,效率大大提高。

    一般將從內(nèi)存往外存寫數(shù)據(jù)稱為“輸出”,從外存中讀取數(shù)據(jù)稱為“輸入”。

    利用緩沖技術(shù)進(jìn)行數(shù)據(jù)輸入的過程為:當(dāng)需要從磁盤讀取數(shù)據(jù)時(shí),系統(tǒng)先將該文件的數(shù)據(jù)從磁盤取出,存入到系統(tǒng)為其分配的內(nèi)存中的一塊“輸入緩沖區(qū)”,應(yīng)用程序在讀取數(shù)據(jù)時(shí)直接從該緩沖區(qū)中讀取,如圖所示。

image.png

    利用緩沖技術(shù)進(jìn)行數(shù)據(jù)輸出的過程為:當(dāng)需要將程序運(yùn)行結(jié)果輸出到外部磁盤時(shí),首先將程序運(yùn)行結(jié)果按照程序運(yùn)行輸出的先后次序送入到系統(tǒng)為該文件分配好的一塊內(nèi)存的“輸出緩沖區(qū)”,待該緩沖區(qū)數(shù)據(jù)裝滿時(shí),將該緩沖區(qū)的數(shù)據(jù)一次寫入磁盤文件,

如上圖所示。

    利用緩沖區(qū)對(duì)磁盤文件的逐次訪問改為批量訪問的方式稱為標(biāo)準(zhǔn)文件操作。相應(yīng)的,磁盤文件系統(tǒng)稱為緩沖文件系統(tǒng),或標(biāo)準(zhǔn)文件系統(tǒng)或高層文件系統(tǒng)。

    如果操作系統(tǒng)不在內(nèi)存中開辟讀寫緩沖區(qū),不使用緩沖技術(shù)的磁盤文件系統(tǒng)稱為非緩沖文件系統(tǒng),或非標(biāo)準(zhǔn)文件系統(tǒng)或低層文件系統(tǒng)。


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部