|
知识路径: > 计算机系统基础知识 > 计算机软件基础知识 > 操作系统基础知识 > 文件管理 > 文件管理 > 存取方法和存储空间的管理 >
|
相关知识点:2个
|
|
|
|
要将文件保存到外部存储器(简称外存或辅存)上首先必须知道存储空间的使用情况,即哪些物理块是被“占用”的,哪些是“空闲”的。特别是对大容量的磁盘存储空间被多用户共享时,用户执行程序经常要在磁盘上存储文件和删除文件,根本无法人工记忆磁盘存储空间的使用情况,故采用文件系统对磁盘空间进行管理。外存空闲空间管理的数据结构通常称为磁盘分配表(disk allocation table)。常用的空闲空间的管理方法有空闲区表、位示图和空闲块链3种。
|
|
|
(1)空闲区表。将外存空间上的一个连续的未分配区域称为“空闲区”。操作系统为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区,空闲表中包含序号、空闲区的第一块号、空闲块的块数和状态等信息,如下表所示。它适用于连续文件结构。
|
|
|
|
|
(2)位示图。这种方法是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。例如,某文件存储器上位示图的大小为n,物理块依次编号为0,1,2,…。假如计算机系统中字长为32位,那么在位示图中的第0个字(逻辑编号)对应文件存储器上的0,1,2,…,31号物理块;第1个字对应文件存储器上的32,33,34,…,63号物理块,以此类推,如下图所示。
|
|
|
|
|
这种方法的主要特点是位示图的大小由磁盘空间的大小(物理块总数)决定,位示图的描述能力强,适合各种物理结构。
|
|
|
(3)空闲块链。每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中),不需要磁盘分配表,节省空间。每次申请空闲物理块只需根据链表的头指针取出第一个空闲物理块,根据第一个空闲物理块的指针可找到第二个空闲物理块,依此类推。
|
|
|
(4)成组链接法。UNIX系统采用该方法。例如,在实现时系统将空闲块分成若干组,每100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。假如某个组的第一个空闲块号等于0,意味着该组是最后一组,无下一组空闲块。
|
|
|