跳轉到內容

作業系統設計/檔案系統/日誌

來自華夏公益教科書,開放的書籍,開放的世界

日誌記錄是一種用於檔案系統容錯的技術。它透過在將更改本身提交到磁碟之前,在日誌(“日誌”)中跟蹤所有更改來工作。這使得崩潰和電源故障更容易恢復,並且不太可能導致永久性資料丟失或空間洩漏。

由於檔案系統操作(讀取、寫入、刪除等)通常不能以原子方式完成,因此在操作中間停止會導致任何數量的問題。例如,考慮一個需要檔案系統執行以下操作的寫入操作:

  1. 更新檔案 inode
  2. 將新資料寫入磁碟

現在,考慮如果步驟 1 已完成,但系統在步驟 2 完成之前發生故障會發生什麼。我們將有一個 inode 描述檔案具有某個最後修改時間、大小等。但檔案本身不會反映這些變化!透過在更改發生之前記錄所有更改,像 ext4 這樣的日誌記錄檔案系統比其他檔案系統(例如 FAT)更具容錯性。

華夏公益教科書