Linux核心 虛擬檔案系統

2021-10-24 02:07:50 字數 1158 閱讀 7451

1.虛擬檔案系統是核心子系統,為使用者空間的程式提供了檔案和檔案系統的介面

2.vfs使得使用者可以直接使用系統呼叫而無需考慮具體檔案系統和實際物理介質

3.vfs定義了所有檔案系統都支援的介面和資料結構,同時檔案系統也將自身的一些概念在形式上和vfs保持一致

4.其實在核心中,除了檔案系統本身,其他部分並不需要了解檔案系統的內部細節

5.具體流程如下:

6.在unix中,目錄屬於普通檔案

7.unix將檔案的相關資訊和檔案本身加以區分,檔案的相關資訊又叫檔案的元資料,被存放在inode中

8.vfs主要包含四個主要的物件型別:

1.是對乙個檔案系統的描述

2.這類物件通常對應於存放在磁碟上的檔案系統控制塊(fcb),也就是說,每個檔案系統都有乙個超級塊物件

3.vfs超級塊是各種檔案系統在安裝時建立的,並在解除安裝時被自動刪除,其資料結構是super_block

4.所有超級塊物件都以雙向迴圈鍊錶的形式鏈結在一起

1.是對乙個檔案物理屬性的描述

2.檔案系統處理檔案所需要的所有資訊都儲存在稱為索引節點的inode結構體中

3.同乙個檔案系統中,每個檔案的索引節點號都是唯一的

1.對檔案邏輯屬性的描述

2.每個檔案除了乙個struct inode結構體外,還要乙個目錄項struct dentry結構

3.乙個索引節點可能對應多個目錄項物件

4.在查詢路徑名/tmp/test時,為了方便查詢操作,每個dentry代表路徑中乙個特定部分,如核心為根目錄「/ 」建立第乙個目錄項物件, 為根目錄下的 tmp項建立第二級目錄項物件,為 /tmp 目錄下的test項建立第**目錄項物件

5.目錄項有三種狀態

6.如果vfs便利路徑名所有元素並將它們逐個解析成目錄項物件,非常低效,所以核心會將目錄項物件快取在目錄項快取中,下次查詢直接從目錄項快取中搜尋路徑名

1.存放開啟檔案與程序之間進行互動的有關資訊

2.程序直接處理的是檔案,而不是超級塊,索引節點或者目錄項

1.除了上面四種vfs基礎物件以外,核心還使用一些標準資料結構來管理檔案系統其它相關資料

1.有三個資料結構將vfs層和系統程序緊密聯絡在一起,分別是:

深入理解Linux核心 虛擬檔案系統

linux 成功的關鍵之一是它具有和其他作業系統和諧共存的能力 5個標準檔案型別 1 普通檔案 2 目錄檔案 3 符號鏈結檔案 4 裝置檔案 5 管道檔案 虛擬檔案系統 virtual filesystem 核心軟體層,用來處理與unix標準檔案系統相關的所有系統呼叫。健壯性表現在能為各種檔案系統提...

核心摘要 虛擬檔案系統

linux支援多種檔案系統型別的方式和其他類unix系統類似,通過虛擬檔案系統來實現。對每個讀,寫或其他操作檔案系統的呼叫函式,核心都用實際支援各種檔案系統的函式來代替。12.1 虛擬檔案系統 vfs 的角色 vfs是乙個核心軟體層,用來處理與標準unix檔案系統相關的全部系統呼叫。它主要作用是為多...

Linux虛擬檔案系統

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