File System Implementation
这章会介绍一个简单的文件系统vsfs(Very Simple File System)。该系统为简化版的UNIX系统,纯软件;有现在大部分文件系统中的基本磁盘结构、访问方法和各种策略。
带着问题学习:如何实现一个简单的文件系统?
1. The Way To Think
要想理解文件系统如何工作,就要理解文件的系统的两个不同方面:
- 数据结构(data structures)
- 访问方式(access methods)
2. Overall Organization
开始研究vsfs文件系统的磁盘数据结构,第一件要做的事就是把磁盘划分成多个块(blocks);我们设计的简单的文件系统只有一个块,大小为4KB。
故构建文件系统的磁盘分区很简单:一系列的块,每个块大小为4KB。在N个大小为4KB块的分区中,从0到N-1寻址这些块。假设N = 64,如下所示:
这些块中存储的大部分都是用户数据(user data)。将用于存储用户数据的磁盘区域称为数据区域(data region),为了简单起见,将上述64个块的后56个块划分为数据区域,如下所示: