Inodes & File Metadata
Keywords
inodemetadataextentblock pointerdirectory entrysuperblockblock groupfile permissionstimestampsAsk ChatGPT
Prerequisites
None — this is a starting concept.
Related Papers
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