《Linux內核設計與實現》讀書筆記——虛擬文件系統

虛擬文件系統

虛擬文件系統爲用戶空間程序提供了文件和文件系統相關的接口

VFS提供了通用文件系統模型。

實際文件系統通過編程提供VFS所期望的抽象接口和數據結構。

 

VFS對象及其數據結構

VFS以後四個主要的對象:

超級塊對象:包含文件系統信息;

索引節點對象:包含具體文件的相關信息;

目錄項對象:包含目錄項信息,它是路徑的一個組成部分;(注意這裏是目錄項對象,而不是目錄對象)

文件對象:包含由進程打開的文件信息;

每個主要對象都包含一個操作對象:

super_operations對象:包含針對特定文件系統所能調用的方法;

inode_operations對象:包含針對特定文件所能調用的方法;

dentry_operations對象:包含針對特定目錄所能調用的方法;

file_operations對象:包含針對已打開的文件所能調用的方法;

 

文件系統相關的數據對象

file_system_type用來描述特定的文件系統類型,比如ext3、ext4等。

vfsmount用來描述一個安裝文件系統的實例。

 

進程相關的數據結構

file_struct由進程描述中的files成員指向,所有與單個進程相關的信息(如打開的文件及文件描述符)都包含在其中。

fs_struct由進程描述中的fs成員指向,包含文件系統和進程相關的信息。

namespace結構體由進程描述符中的mmt_namespace成員指向。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章