VFS由一下對象模型組成:
1,超級塊對象:
存放已安裝文件系統的信息,對基於磁盤的文件系統,這類對象通常對應於存放在磁盤上的文件系統控制塊。
所有的超級塊對象都以雙向循環鏈表的形式鏈接在一起,每個節點有自旋鎖避免此鏈表受到多處理器系統上的同時訪問。
在各種具體文件系統安裝時建立的,並在卸載時自動刪除。linux對於每種已安裝的文件系統,內存中都有與其對應的超級快
2,索引節點對象:
存放關於具體文件的一般信息,文件系統處理文件所需要的所有信息都放在一個名爲索引節點的數據結構中。
文件名可以隨時修改,但是索引節點對於文件時唯一的,並且隨文件的存在而存在。
內存中的索引節點對象由一個inode數據結構組成。
3,文件對象:
存放打開文件與進程之間進行交互的有關信息,文件對象時在文件被打開時創建的,由一個file結構組成。
文件對象沒有磁盤上的映像,只是應內核的需要而建立的數據結構,所以file沒有“dirty”字段,無需與磁盤的同步。
存放在文件對象中的主要信息是文件指針。
4,目錄項信息,存放目錄項於對應文件進行鏈接的有關信息。