操作系统设计/文件系统/日志
外观
< 操作系统设计
日志记录是一种用于文件系统容错的技术。它通过在将更改本身提交到磁盘之前,在日志(“日志”)中跟踪所有更改来工作。这使得崩溃和电源故障更容易恢复,并且不太可能导致永久性数据丢失或空间泄漏。
由于文件系统操作(读取、写入、删除等)通常不能以原子方式完成,因此在操作中间停止会导致任何数量的问题。例如,考虑一个需要文件系统执行以下操作的写入操作:
- 更新文件 inode
- 将新数据写入磁盘
现在,考虑如果步骤 1 已完成,但系统在步骤 2 完成之前发生故障会发生什么。我们将有一个 inode 描述文件具有某个最后修改时间、大小等。但文件本身不会反映这些变化!通过在更改发生之前记录所有更改,像 ext4 这样的日志记录文件系统比其他文件系统(例如 FAT)更具容错性。