檔案系統 編寫檔案系統

2021-09-26 13:27:33 字數 461 閱讀 9602

8.5 編寫乙個檔案系統

如果寫乙個實際檔案系統,但是涉及的東西太多,不容易簡明扼要的理解檔案系統的實現。linux核心中提供的romfs檔案系統是個非常理想的例子,既有實際應用架構,也清晰明了,故以romfs為例項分析檔案系統的實現。

一、linux檔案系統的實現要素

編寫新檔案系統涉及一些基本物件,具體來講,需要建立乙個結構,四個操作表,如下所示。

檔案系統型別結構(file_system_type)

超級塊操作表(super_operations)

索引結點操作表(inode_operations)

頁緩衝區操作表(address_space_operations)

檔案操作表(file_operations)

對上述幾種結構的操作貫穿檔案系統實現的主要過程,理清晰這幾種結構之間的關係是編寫檔案系統的基礎,如圖8.9所示,下面具體分析這幾個結構和檔案系統實現的要點。

系統程式設計之檔案系統程式設計

系統呼叫 所有的作業系統都提供多種服務的入口點,程式由此向核心請求服務。這些可直接進入核心的入口點被稱為系統呼叫。不同作業系統提供了自己的一套系統呼叫,所以系統呼叫無法實現跨平台使用。而且頻繁地系統呼叫,在使用者態和核心態之間切換,很耗費資源,效率不高。c標準庫提供了操作檔案的標準i o函式庫,與系...

檔案系統 why檔案系統

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

檔案系統 檔案系統的架構

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