28. 文件系统

背景回顾:任何实现了 struct file_operations 的操作系统对象可以都是 “文件”:有驱动程序的设备;procfs 中的虚拟文件、管道……

本讲内容:操作系统将这些文件组织起来的方式:文件系统。

28.1 文件系统

28.2 文件系统:实现

28.3 FAT 和 UNIX 文件系统

Take-away Messages

把文件系统理解成一个 “数据结构”,就不难分析其中的重点和实现要点——我们总是把数据按照局部性组织起来,无论是 FAT 还是 bitmap/inode 的设计,都利用了这一点。另一个重要的设计是 “目录也是文件”——文件系统实现将目录文件中的数据作出解读,从而解析出其中的目录结构。

1. 阅读材料

📚阅读材料

教科书 Operating Systems: Three Easy Pieces:

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