In [1]:
from mosaic import *
OS2023(28)
28. FAT 和 UNIX 文件系统¶
Changelog & 反馈
- Deadline: 期末考试之后充裕的时间。
背景回顾:把文件看成虚拟的磁盘,文件系统理解成虚拟磁盘的索引机制,就不难理解文件系统的设计。至此,我们已经有了足够的背景知识,可以去考虑如何在真正的存储设备上实现文件系统了。
本讲内容:
- 文件系统实现分析
- FAT 文件系统
- UNIX 文件系统
In [2]:
slideshow('28.1')
In [3]:
slideshow('28.2')
In [4]:
demo('fat-tree', 'p/fat-tree')
In [5]:
slideshow('28.3')
Take-away Messages¶
把文件系统理解成 “磁盘上的数据结构”,就不难分析其中的重点和实现要点——我们总是把数据按照局部性组织起来,无论是 FAT 还是 bitmap/inode 的设计,都利用了这一点。另一个重要的设计是 “目录也是文件”——文件系统实现将目录文件中的数据作出解读,从而解析出其中的目录结构。
课后习题/编程作业¶
1. 阅读材料¶
教科书 Operating Systems: Three Easy Pieces:
- 第 40 章 - File System Implementation
- 第 41 章 - Fast File System (FFS)