一、存储空间的划分和初始化
存储空间的划分:
将物理磁盘划分为一个个文件卷(逻辑卷、逻辑盘)。
在存储空间初始化时,需要将各个文件卷划分为目录区、文件区。
(1) 目录区:主要存放文件目录信息(FCB)、用于磁盘存储空间管理的信息。
(2) 文件区:主要存放文件数据。
二、文件存储空间的管理方法
1. 空闲表法
(1)盘块分配:
空闲盘块的分配与内存的动态分配类似,同样采用首次适应算法、循环首次适应算犯法等。
(2)回收磁盘块:
与内存管理中的动态分配很类似,当回收某个存储区时需要分为四种情况
① 回收区前后都没有相邻空闲区——为空闲盘块表增加一个表项即可。
② 回收区前后都是空闲区——将回收区和回收区前后的两个空闲区合并为一个空闲区。
③ 回收区前是空闲区——将回收区和前空闲合并为一个空闲区。
④ 回收区后是空闲区——将回收区和后空闲合并为一个空闲区。
即注意表项的合并问题。
2. 空闲链表法
(1)空闲盘块链
以空闲盘块为单位形成链,每个盘块中存储下一个空闲盘块的指针。
(2)空闲盘区链
以空闲盘区为单位形成链,每个盘区中存储当前盘区长度以及下一个空闲盘区的指针。
3. 位图示法
(1)位示图
如上图,图中0代表盘块空闲,1代表盘块已被分配。
(2)盘块分配:
①顺序扫描位示图,找到需求数量的盘块。
②将位示图中的盘块换算成对应盘块号,并分配给文件。
③将位示图中对应0变成1。
(2)盘块回收:
①根据盘块号计算出对应位示图中位置。
②将对应位置1变成。
4. 成组链接法
...