這裡討論一下在不改變當前linux檔案系統架構下,對linux檔案系統的新需求。
第一需求,緩解檔案系統修復極度緩慢的問題。通過標記部分元資料為unused或者clean有助於減少修復檔案系統時需要檢查的資料總量。fsck的多種實現已經高度優化,但是仍然可能有更多的提公升空間。簡單來說,對檔案系統修復時間有個評估可以讓管理員決定是嘗試修復還是簡單地從備份中恢復。
與此類似的另乙個需求是對現有檔案系統增加校驗和與錯誤處理機制。乙個例項是威士頓康星大學的madison的
iron ext3 work [pdf]
。第二需求,對強制unmount檔案系統的支援。
強制解除安裝乙個檔案系統,即
使該檔案系統中有檔案仍然開啟。大多數的強制unmount可以在vfs層實現(例如,用一組總是返回eio的vfs ops替代vfs ops中的開啟檔案操作),但是具體的檔案系統仍然需要一些測試和工作,以使得在出錯的情況下安全unmount檔案系統。
第三需求,檔案系統的效能測試應該更合理。
檔案系統的效能測試通常是在相對年輕、無碎片的檔案系統中進行。檔案系統開發社群應當與研究更好的快速建立老化的檔案系統的研究者一起合作。一種想法是在加速回放檔案系統蹤跡(t
race)的時候插入大量的sync()系統呼叫,因而檔案系統無法在老化檔案系統中使用智慧型時間分配策略(如延時分配等
)。回放檔案系統蹤跡的最新研究是由ningning zhu等的fast '05 的文章
scalable and accurate trace replay for file server evaluation [pdf]
.關於檔案系統老化的一篇優秀**是由keith smith等發表的
file system aging - increasing the relevance of file system benchmarks [pdf]
。第四需求,系統中多檔案系統共存問題。乙個系統上多個檔案系統共存
的乙個問題是檔案系統journals使用的記憶體總量,因為journal通常是基於每檔案系統(per-file system)分配的,沒有考慮用於檔案系統資料的全域性記憶體使用。一些協調記憶體使用的方法可能對此有幫助,但是,總體來說,檔案系統的開發者傾向於優化檔案系統的效能而沒有充分考慮總體的系統效能,隨著系統應用的複雜性與多元性的急劇增加,解決多檔案系統共存的優化問題也越來越急切。
檔案系統 檔案系統的架構
vfs是具體檔案系統的抽象,依靠超級塊 inode dentry以及檔案這些結構來發揮作用,檔案系統的架構就體現在這些結構的使用方式中。1 超級塊作用分析 1 2 所有的dentry都指向乙個dentry hashtable dentry hashtable是乙個樹組,每乙個樹組成員都是hash鍊錶...
linux下的 Proc 檔案系統
proc檔案系統是一種在使用者態檢查核心狀態的機制。在proc下一般有如下子目錄和檔案 apm 高階電源管理資訊 bus 匯流排以及匯流排上的裝置 devices 可用的裝置資訊 driver 已經啟用的驅動程式 interrupts 中斷資訊 ioports 埠使用資訊 version 核心版本 ...
Linux 下的檔案系統目錄
剛剛入手了乙個阿里雲學生伺服器,選擇的是centos7 64位系統,記錄一下檔案目錄,為以後環境搭建做好準備軟體裝在 usr local 目錄下linux 系統下有etc目錄是放置配置檔案的 dev是裝置檔案 home是家目錄 根目錄 boot 啟動檔案。所有與系統啟動有關的檔案都儲存在這裡 gru...