第7章 檔案系統演算法#
資料庫索引之下,還有一層每天默默管理著所有資料的結構:檔案系統。它要回答三個問題——檔案的資料區塊放在磁碟哪裡(空間配置)、目錄與檔案如何對應到這些區塊(元資料結構)、以及當機之後如何保證一致(日誌)。本章以兩個經典設計為主軸:FAT 用一張全域鏈結表管理所有檔案的區塊,簡單但效能受限;UNIX inode 把元資料與資料分離,用直接/間接指標支援大檔案,並以日誌(journaling)解決當機一致性。最後我們比較連續、鏈結、索引三種配置策略,並實作碎片整理演算法,理解為何 SSD 時代碎片整理已失去意義。