乙個系統中應當可以支援多個檔案系統。但是由於每乙個檔案系統底層機制不同,作業系統如何相容各個檔案系統?
這就是虛擬檔案系統vfs的功能了。vfs是作業系統檔案模組的乙個軟體層,對上面的使用者空間提供統一的操作介面,同時也對下層提供了一套必須實現的介面。這個思想其實在軟體工程中很常用,雖然檔案系統底層實現不同,但是總是可以抽象出公共的部分,比如開啟檔案,讀取檔案等操作。所以這一層對底層的抽象是vfs的關鍵所在,乙個新的檔案系統要想在作業系統中被使用,就必須實現vfs所要求的介面。然後vfs使用這些介面的實現完成檔案操作。
當vfs想要完成乙個操作時,只需要呼叫這個檔案系統的實現方法即可。
虛擬檔案系統
虛擬檔案系統 virtual file system,簡稱 vfs 是 linux 核心中的乙個軟體層,用於給使用者空間的程式提供檔案系統介面 同時,它也提供了核心中的乙個 抽象功能,允許不同的檔案系統共存。系統中所有的檔案系統不但依賴 vfs 共存,而且也依靠 vfs 協同工作。為了能夠支援各種實...
檔案系統 虛擬檔案系統(二)
二 虛擬檔案系統 6 與程序相關的檔案結構 檔案最終要被程序訪問,乙個程序可以開啟多個檔案,而乙個檔案可以被多個程序同時訪問。這裡程序是通過檔案描述符來抽象所開啟的檔案的,用使用者開啟檔案表來描述和記錄程序開啟檔案描述符的使用情況。1 檔案物件 每個開啟的檔案都用乙個32位的數字來表示下乙個讀寫的位...
Linux虛擬檔案系統
這一周主要學了檔案系統的相關知識,通過學習基本上掌握了 linux 檔案系統的結構,檔案型別,以及讀取模式等等,也學會怎麼用命令簡單的建立乙個檔案系統。linux 的檔案系統主要有 ext2 ext3 ext4 在windows 下乙個分割槽會採用的一棵目錄樹來管理,而 linux 則只有一棵目錄樹...