第 45 章对话:关于持久的总结对话

学生: 哇,文件系统看起来很有趣,但很复杂。

教授: 这就是我和我妻子从事这个领域研究的原因。

学生: 坚持下去。你是写这本书的教授之一吗?我认为我们都只是虚构的,用来总结一些要点,并可能在操作系统的研究中增加一点点轻松气氛。

教授: 呃……呃……也许吧。不关你的事!你认为是谁写的这些东西?(叹气)无论如何,让我们继续吧:你学到了什么?

学生: 嗯,我认为我掌握了一个要点,即长期(持久)管理数据比管理非持久数据(如内存中的内容)要困难得多。毕竟,如果你的机器崩溃,那么内存内容就会消失!但文件系统中的东西需要永远存在。

教授: 好吧,我的朋友 Kevin Hultquist 曾经说过,“永远是一段很长的时间”。当时他在谈论塑料高尔夫球座,对于大多数文件系统中的垃圾来说,尤其如此。

学生: 嗯,你知道我的意思!至少很长一段时间。即使简单的事情,例如更新持久存储设备,也很复杂,因为你必须关心如果崩溃会发生什么。恢复,这是我们在虚拟化内存时从未想过的东西,现在是一件大事!

教授: 太对了。对持久存储的更新向来是,并且一直是一个有趣且有挑战性的问题。

学生: 我还学习了磁盘调度等很酷的东西,以及 RAID、校验和等数据保护技术。那些内容很酷。

教授: 我也喜欢这些话题。但是,如果你真的深入进去,可能需要一些数学。如果你想伤脑筋,请查看一些最新的擦除代码。

学生: 我马上就去。

教授: (皱眉)我觉得你是在讽刺。那么,你还喜欢什么?

学生: 我也很喜欢构建有技术含量的系统的所有想法,比如 FFS 和 LFS。漂亮!磁盘意识似乎很酷。但是,有了 Flash 和所有最新技术,它还重要吗?

教授: 好问题!这提醒我开始写 Flash 的章节……(自己草草写下一些笔记)……但是,就算使用 Flash,所有这些东西仍然相关,令人惊讶。例如,Flash 转换层(FTL)在内部使用日志结构,以提高基于闪存的 SSD 的性能和可靠性。考虑局部性总是有用的。因此,尽管技术可能正在发生变化,但我们研究的许多想法至少在一段时间内仍将继续有用。

学生: 那很好。我刚花了这么多时间来学习它,不希望它完全没用!

教授: 教授不会那样对你,对吗?


导师的下一步建议:

持久性部分涵盖了从磁盘结构、RAID、文件系统实现到崩溃一致性的完整知识体系。你现在应该理解:管理持久数据比管理内存要困难得多——崩溃恢复是一个全新的复杂度维度。

最后一小部分将进入分布式系统的领域。当系统跨越多个节点时,一切变得更加复杂:消息丢失、机器故障、数据不一致……但分布式文件系统(如 NFS 和 AFS)展示了如何在不可靠的网络上构建可靠的服务。

MOC · 下一章:Ch46对话 关于分布式