Linux核心學習筆記 VFS

2022-05-09 06:03:13 字數 1120 閱讀 5792

概念:

其特性:

其特性:

兩者區別如圖所示:

③基本概念:

檔案:一般檔案

目錄項 (dentry):即路徑中的每個目錄單位即為目錄項。

索引節點 (inode):記錄檔案屬性的結構。

掛載點: 掛載是指將乙個裝置(通常是儲存裝置)掛接到乙個已存在的目錄上。 我們要訪問儲存裝置中的檔案,必須將檔案所在的分割槽掛載到乙個已存在的目錄上, 然後通過訪問這個目錄來訪問儲存裝置。

④linux vfs 存在四個基本物件:

超級塊物件 (superblock object):代表乙個已安裝的檔案系統。

索引節點物件 (inode object):代表乙個檔案。

目錄項物件 (dentry object):代表乙個目錄項,如裝置檔案 event5 在路徑 /dev/input/event5 中,其存在四個目錄項物件:/ 、dev/ 、input/ 及 event5。

檔案物件 (file object):代表由程序開啟的檔案。

vfs 的物件之間的處理

vfs 中的 inode 與 inode_operations 結構體

1

struct

inode 910

struct

inode_operations

struct inode

每個檔案存在兩個計數器:i_count 與 i_nlink,即引用計數與硬鏈結計數。結構體 inode 中的 i_count 用於跟蹤檔案被訪問的數量,而 i_nlink 則是上述使用 ls -l 等命令檢視到的檔案硬鏈結數。或者說 i_count 跟蹤檔案在記憶體中的情況,而 i_nlink 則是磁碟計數器。當檔案被刪除時,則 i_nlink 先被設定成 0。檔案的這兩個計數器使得 linux 系統公升級或程式更新變的容易。系統或程式可在不關閉的情況下(即檔案 i_count 不為 0),將新檔案以同樣的檔名進行替換,新檔案有自己的 inode 及 data block,舊檔案會在相關程序關閉後被完整的刪除。

⑤在 linux 中除程序之外一切皆是檔案。

linux核心學習筆記

核心的配置 a.make s3c2410 deconfig b.make menuconfig 圖形化配置 c.使用廠家給出的配置 生成.config 編譯生成核心,使用如下命令 make vmlinux make uimage 帶頭部 真正核心 1 config 建立生成autoconf.h 供源...

Linux核心學習筆記

2.2 核心原始碼樹 arch 特定體系結構的原始碼 block crypto api crypto 核心原始碼文件 drivers 裝置驅動程式 firmware fs vfs和各種檔案系統 include 核心標頭檔案 init 核心引導和初始化 ipc 程序間通訊 kernel 像排程程式這樣...

Linux核心學習筆記 核心同步

linux核心中執行的程式,時刻都要防止併發引起的競態。這將會導致資料結構被破壞,嚴重的時候會引起核心崩潰。所以核心同步技術對核心開發的驅動程式來說非常重要。不懂核心同步技術的人,是寫不出安全健壯的核心驅動程式來的。在學習核心同步技術之前需要掌握一下幾個概念。1 並行,併發與競態 在smp執行的li...