23. 文件系统实现

文件系统为我们实现了树 (和图) 状的目录结构,并提供了丰富的 API 让我们实现增删改查——实际上,文件系统就是在存储系统 (block I/O) 之上实现的一个支持修改查询操作的数据结构,实现它也是理所应当的。

23.1 File Allocation Table

23.2 UNIX 文件系统

23.3 现代文件系统 🌶️

23.4 总结

Take-away messages: 把文件系统理解成一个 “数据结构”,就不难理解经典和现代文件系统的设计理念——所有人都是在为了合适的硬件、合适的读写 workload 上,用合适的方式组织数据,维护树状 (和链接) 的目录结构和随机访问的文件操作。

📚阅读材料

教科书 Operating Systems: Three Easy Pieces:

  • 第 40 章 - File System Implementation
  • 第 41 章 - Fast File System (FFS)