Linux偽檔案系統

2021-10-03 17:34:24 字數 585 閱讀 9090

偽檔案系統,這個概念資料較少。

unix、linux系統裡面有檔案描述符這個概念(萬物皆檔案),比如常規的檔案,標準輸入輸出錯誤(0,1,2描述符),還有套接字,訊息佇列等等。

它們雖然存在檔案系統中某個目錄,但是不屬於任何的檔案系統,不占用硬碟的空間,只是在記憶體中作用。通過核心去管理呼叫,比如fifo有名管道,實際是記憶體緩衝區中用於程序通訊的。這些檔案通常被核心呼叫為系統提供某些功能。

偽檔案系統

早期,unix 因為提供全域性 api 以及將裝置掛載到統一的檔案系統命名空間的特性,大幅提公升了輸入/輸出資源的整合度。這個方法是如此成功,以至於從那時開始有一種將更多資源和系統服務暴露為檔案系統全域性命名空間的趨勢。plan 9 是這種做法的先驅,而現在所有新的 unix 系統都這麼做了。

這種方法導致產生了許多 偽檔案系統,這些系統看起來和一般的檔案系統一樣,但是可以訪問沒有直接關聯傳統檔案系統的資源。比如你可以使用偽檔案系統來查詢控制程序、訪問核心內部或建立 tcp 連線。這些偽檔案系統具有檔案系統語義,可以展示分層資訊,並為大部分物件提供了統一訪問的方式。偽檔案系統有時也被稱為虛擬檔案系統,特點是沒有物理裝置也沒有備份儲存器,只依靠記憶體來工作。

參考部落格:

Linux偽檔案系統

linux核心提供了procfs sysfs和devfs等檔案系統,偽檔案系統存在於記憶體中,通常不占用硬碟空間,它以文 件的形式,向使用者提供了訪問系統核心資料的介面。使用者和應用程式 可以通過訪問這些資料介面,得到系統的資訊,而且核心允許使用者修改核心的某些引數。procfs是 process ...

Linux的偽檔案系統

ramfs是直接建立在記憶體快取上的檔案系統,在核心啟動塊裝置還沒掛接上時會用到它來存放某些檔案,ramfs會因為資料的寫入自動增長空間,所以可能導致最後系統所有的記憶體耗完 proc是核心用的檔案系統,用於顯示核心資訊及改變核心引數 sysfs檔案系統用來管理和顯示各種裝置的執行引數及裝置的層次結...

偽檔案系統bdev

517static struct file system type bd type 522523static struct vfsmount bd mnt read mostly 524struct super block blockdev superblock 這三個是檔案系統的代表成員。檔案系統...