linux文件係統(一)——VFS的概念
聲明:本Linux文件係統博客,共分四節,是根據網上多個相關博客,以及自己的理解加上相關資料總結而成。(作者:lvyilong316)
Linux 之所以能支持除了Ext2文件係統之外的各種文件係統,是因為Linux提供了一種統一的框架,就是所謂的虛擬文件係統轉換(Virtual FilesystemSwitch),簡稱虛擬文件係統(VFS)。這樣, 用戶程序可以通過同一個文件係統界麵,也就是同一組係統調用,能夠對各種不同的文件係統以及文件進行操作。
1. Linux中支持幾十種文件係統,它是怎麼管理的呢,它都管理什麼呢?
首先,VFS 隻對掛載到文件係統種的文件係統進行管理,即它時按需管理的。
其次,因為它繼承了Unix的設計思想,所以它也是對文件,目錄項,索引節點和超級塊進行管理。
2.VFS中四個主要對象
(1)超級塊對象:描述已安裝文件係統。
每個文件係統 都對應一個超級對象。文件係統的控製信息存儲在超級塊中。
(2)索引節點對象:描述一個文件。
每個文件 都有一個索引節點對象。每個索引節點對象都有一索引節點號---->正是用這個號來唯一的標識某個文件係統中的指定文件。
(3)目錄項對象:描述一個目錄項,是路徑的組成部分。
VFS把每個目錄看作一個由若幹子目錄和文件組成的常規文件。
例如:我們在查找路徑名:/tmp/test時,內核為根目錄“/”創建第一個目錄項對象,為根目錄下tmp項創建第二級目錄項對象,為/tmp目錄下的test項創建第三級目錄項對象。
(4)文件對象:描述由進程打開的文件。
說明:
1.因為 VFS 將目錄作為一個文件來處理,所以不存在目錄對象。雖然目錄項不同於目錄,但目錄卻和文件相同。
2.Linux中將文件的相關信息和文件本身區分開了。在Linux 中文件的相關信息,被存儲在一個單獨的數據結構中,該結構被稱為索引節點。文件(目錄)信息按照索引節點形式存儲在單獨的塊中;控製信息被集中存儲在磁盤的超級塊中。
最後更新:2017-04-03 12:55:35
上一篇:
Android 長按電源鍵和短按電源鍵的詳細處理流程
下一篇:
Android 防止Toast重複彈出相同的信息
android信息-摘要校驗信息
設計模式(Design Patterns)總結歸納
《數據結構與抽象:Java語言描述(原書第4版)》一JI2.2 處理異常
雲服務器 ECS快速入門:遠程連接 ECS 實例
天貓黑科技秘密全公開!人臉識別、AR交互、3D物體雲識別...
如何在 Linux 和 Windows 之間共享 Steam 的遊戲文件
DevExpress GridControl複合表頭(多行表頭)設置
在64位機器上使用plSQL連接Oracle的問題(SQL*Net not properly installed)
thinkPHP之微理解
Redis開發運維實踐專題功能之事務