檔案系統 虛擬檔案系統(一)

2021-09-26 10:11:15 字數 590 閱讀 2419

為了保證linux的開放性,設計者必須考慮如何使linux除了支援ext2檔案系統外,還能支援其它各種不同的檔案系統,例如日誌檔案系統、集群檔案系統以及加密檔案系統等。因此,就必須把各種不同檔案系統的操作和管理納入到乙個統一的框架中,使得使用者程式通過同乙個檔案系介面,即同一組系統呼叫,能對各種不同的檔案系統和檔案操作。使用者程式不必關心各種不同檔案系統的實現細節,而使用系統提供統

一、抽象、虛擬的檔案系統介面。這種統一的框架就是虛擬檔案系統轉換,一般簡稱虛擬檔案系統(vfs)。

一、虛擬檔案系統引入

linux最初採用minix檔案系統,但minix是一種教學用作業系統,其檔案系統大小限制在64mb,檔名長度也限制在14個byte。linux經過一段時間的改進和發展,尤其吸取unix檔案系統多年改進所積累的經驗,最後形成ext2檔案系統。可以說,ext2檔案系統就是linux檔案系統。

虛擬檔案系統所提供的抽象介面主要由一組標準的、抽象的操作構成,例如讀、寫、lseek()等,這些函式以系統呼叫的形式供使用者程式呼叫。使用者程式呼叫這些系統呼叫函式時,無須關心所操作的檔案屬於哪個檔案系統,這個檔案系統是如何設計和實現的。

在linux核心中,vfs與具體的檔案系統關係如圖8.4所示。

檔案系統 虛擬檔案系統(二)

二 虛擬檔案系統 6 與程序相關的檔案結構 檔案最終要被程序訪問,乙個程序可以開啟多個檔案,而乙個檔案可以被多個程序同時訪問。這裡程序是通過檔案描述符來抽象所開啟的檔案的,用使用者開啟檔案表來描述和記錄程序開啟檔案描述符的使用情況。1 檔案物件 每個開啟的檔案都用乙個32位的數字來表示下乙個讀寫的位...

虛擬檔案系統

虛擬檔案系統 virtual file system,簡稱 vfs 是 linux 核心中的乙個軟體層,用於給使用者空間的程式提供檔案系統介面 同時,它也提供了核心中的乙個 抽象功能,允許不同的檔案系統共存。系統中所有的檔案系統不但依賴 vfs 共存,而且也依靠 vfs 協同工作。為了能夠支援各種實...

Linux虛擬檔案系統

這一周主要學了檔案系統的相關知識,通過學習基本上掌握了 linux 檔案系統的結構,檔案型別,以及讀取模式等等,也學會怎麼用命令簡單的建立乙個檔案系統。linux 的檔案系統主要有 ext2 ext3 ext4 在windows 下乙個分割槽會採用的一棵目錄樹來管理,而 linux 則只有一棵目錄樹...