目录
空闲空间管理方法
常用的空闲空间的管理方法有:空闲区表、位示图和空闲块链三种。
空闲区表
将外存空间上一个连续未分配区域称为“空闲区”。操作系统为磁盘外存上所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表中包含序号、空闲区的第一块号、空闲块的块数等信息。它适用于连续文件结构。
适合连续文件
创建文件步骤
- 分配磁盘空间
- 创建目录项
缺点:空间利用率不高
位示图
这种方法是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。
这种方法的主要特点是位示图的大小由磁盘空间的大小(物理块总数)决定,位示图的描述能力强,适合各种物理结构。
空闲物理块链
每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中)。
分配方法:每次申请空闲物理块只需根据链表的头指针取出第一个空闲物理块。
优点:不需要磁盘分配表。
缺点:释放和分配都可以从链头处进行,修改有关的链接字时需要反复读写磁盘,系统开销很大。
空闲物理块链的改进->成组链接法
成组链接法
将空闲块分成若干组,每100个空闲块为一组。每组的第一个空闲块登记了下一组空闲块的物理盘块号和本组空闲块总数 。
分配算法
释放算法