Inodes & File Metadata
BasicBasic

Inodes & File Metadata

Keywords

inodemetadataextentblock pointerdirectory entrysuperblockblock groupfile permissionstimestampsAsk ChatGPT

Prerequisites

None — this is a starting concept.

Progress

Sign in to track your progress.

檔案系統的核心任務是把使用者看到的檔案與目錄,對應到磁碟上的實際資料區塊。我們透過 inode 這個資料結構來記錄每個檔案的 metadata,包括檔案大小、權限、時間戳記,以及資料區塊的位置。現代檔案系統(如 ext4)使用 extent 來描述連續的區塊範圍,比起早期逐一記錄 block pointer 的方式更加高效。除了 inode 之外,我們還需要理解 directory entry 如何將檔名對應到 inode number,以及 superblock 如何描述整個檔案系統的全域資訊。掌握 on-disk layout 中 metadata 與 data 的區分,是理解後續 journaling、copy-on-write 等進階機制的基礎。

Key Concepts

我理解 inode 儲存了檔案的 metadata,包括檔案大小、permissions、timestamps 以及 data block 的位置資訊

我理解 extent-based allocation 與傳統 block pointer allocation 的差異,以及 extent 如何更高效地描述連續區塊範圍

我理解 directory entry 如何將檔案名稱對應到 inode number,實現從路徑到檔案資料的查找

我理解 superblock 作為檔案系統全域 metadata 的角色,以及 block group 如何組織磁碟上的 inode table 與 data block

Recommended Resources

Test Your Understanding