MIT 6.S081 Lecture 15: Crash recovery
Reading
- Read logging sections of “File system”
- read code
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