C語(yǔ)言 標(biāo)準(zhǔn)文件與非標(biāo)準(zhǔn)文件
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ū)中讀取,如圖所示。
利用緩沖技術(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)。
點(diǎn)擊加載更多評(píng)論>>