緩衝檔案系統和非緩衝檔案系統

2021-06-10 06:38:30 字數 759 閱讀 9131

目前c 語言所使用的磁碟檔案系統有兩大類:一類稱為緩衝檔案系統,又稱為標準文

件系統;另一類稱為非緩衝檔案系統。

緩衝檔案系統的特點是:系統自動地在記憶體區為每乙個正在使用的檔案開闢乙個緩衝

區。從磁碟向記憶體讀入資料時,則一次從磁碟檔案將一些資料輸入到記憶體緩衝區(充滿緩

沖區),然後再從緩衝區逐個地將資料送給接收變數;向磁碟檔案輸出資料時,先將資料

送到記憶體中的緩衝區,裝滿緩衝區後才一起送到磁碟去。用緩衝區可以一次讀入一批資料,

或輸出一批資料,而不是執行一次輸入或輸出函式就去訪問一次磁碟,這樣做的目的是減

少對磁碟的實際讀寫次數,因為每一次讀寫都要移動磁頭並尋找磁軌扇區,花費一定的時

間。緩衝區的大小由各個具體的c 版本確定,一般為512 位元組。緩衝檔案系統的讀寫

非緩衝檔案系統不由系統自動設定緩衝區,而由使用者自己根據需要設定。

在傳統的unix 系統下,用緩衝檔案系統來處理文字檔案,用非緩衝檔案系統處理二進

制檔案。1983 年ansi c 標準決定不採用非緩衝檔案系統,而只採用緩衝檔案

系統。即用緩衝檔案系統處理文字檔案,

也用它來處理二進位制檔案。也就是將緩衝檔案系統擴充為可以處理二進位制檔案。

一般把緩衝檔案系統的輸入輸出稱為標準輸入輸出(標準i/o),非緩衝檔案系統的

輸入輸出稱為系統輸入輸出(系統i/o)。在c 語言中,沒有輸入輸出語句,對檔案的讀

寫都是用庫函式來實現的。ansi 規定了標準輸入輸出函式,用它們對檔案進行讀寫。

緩衝檔案系統和非緩衝檔案系統

1.緩衝檔案系統 緩衝檔案系統的特點是 在記憶體開闢乙個 緩衝區 為程式中的每乙個檔案使用,當執行讀檔案的操作時,從磁碟檔案將資料先讀入記憶體 緩衝區 裝滿後再從記憶體 緩衝區 依此讀入接收的變數。執行寫檔案的操作時,先將資料寫入記憶體 緩衝區 待記憶體 緩衝區 裝滿後再寫入檔案。由此可以看出,記憶...

檔案系統 why檔案系統

為什麼需要檔案系統,可否由作業系統直接寫裸裝置?裸裝置是一種沒有經過格式化的磁碟或分割槽,即讓作業系統直接管理操作磁碟設定,進行資料讀寫等。通過檔案系統的方式組織磁碟儲存和資料管理有很多好處,比如 1.資料讀取 管理等操作變得簡單便捷 檔案系統給使用者提供了乙個簡單的操作介面,只需簡單的操作就能實現...

檔案系統 檔案系統的架構

vfs是具體檔案系統的抽象,依靠超級塊 inode dentry以及檔案這些結構來發揮作用,檔案系統的架構就體現在這些結構的使用方式中。1 超級塊作用分析 1 2 所有的dentry都指向乙個dentry hashtable dentry hashtable是乙個樹組,每乙個樹組成員都是hash鍊錶...