MIT 6.S081 Lecture 15: Crash recovery

Reading

Information

  • 最后一节关于xv6的讲座了,后面的重点会放在操作系统论文的阅读上

  • 再见了所有的xv6 😭

Problem

  • crash如电源中断,系统重启等

  • crash会使得建立在磁盘上的文件系统进入不正确的的状态,怎样保证crash后维持正确的状态呢?

  • 解决方案是logging

Risk

  • 文件系统的操作是多步的

  • 如果crash后重启,很可能要么再次crash,要么读写了错误的数据

logging

  • log的步骤

    • log writes
    • commit op
    • install
    • clean log
    • log能够保证文件系统操作的原子性,并提供快速恢复的能力,在不同步骤crash都有不同的恢复方案
  • log的内容

    • 内存中有磁盘中log的cache

Challenges

  • eviction

    • 不要驱逐正在log的block
  • fs operation must fit log

    • log限制了文件系统一次最多只能操作30个block
  • concurrent fs calls

    • 并行的文件系统操作也要符合上一条log的限制

Summary

  • log for multi-step ops

  • But: performance

MIT 6.S081 Lecture 15: Crash recovery

http://huaeryi.com/2023/04/22/6-S081-Lecture-15/

作者

huayi

发布于

2023-04-22

更新于

2023-04-26

许可协议