请输入您要查询的百科知识:

 

词条 成组链法
释义

成组链法 成组链法可看作空闲块链的链接法的扩展。成组链法首先把文件存储设备中的所有空闲块按50块划分为一组。组的划分为从后往前顺次划分。其中,每组的第一块用来存放前一组中各块的块号和总块数。由于第一组的前面已无其他存在,因此,第一组的块数为49块。不过,由于存储设备的空间块不一定正好是50的整倍数,因而最后一块将不足50块,且由于该组后面已夫另外的空闲块组,所以,该组的物理块号与总数只能放在管理文件存储设备用的文件资源表中。

在成组链法对文件设备进行了上述分组之后,系统可根据申请者的要求进行空闲块的分配,并在释放文件时回收空闲块。下面介绍杨组链法的分配和释放过程。

首先,系统在初启时把文件资源表复制到内存,从而使文件资源表中放有最后一组空闲块块号与总块数的堆栈进入内存,并使得空闲块的分配与释放可在内存进行。这就减少了每次分配和释放空间都 要启动I/O设备的压力。

与空闲块块号及总块数相对应,用于空闲块分配与回收的堆栈有栈指针P(tr),且P(tr)的初值等于该组空闲块的总块数。当申请者提出空闲块要求n时,按照后进出的原则,分配程序在取走P(tr)所指的块号之后,再做P(tr)←P(tr)-1的操作。这个过程一直持续到所要求的n块都 已分配完毕或堆栈中只剩下最后一个空闲块的块号。当堆栈中只剩下最后一个空闲块号时,系统启动设备程序,将该块中存放的下一组的块号与总块数读入内存之后将该块分配给申请者。然后,系统重新设置P(tr)指针,并继续为申请者进程分配空闲块。

文件存储设备的最后一个空闲块中设置有尾部标识,以指示空闲块分配完毕。

如果用户进程不再使用有关文件并删除这些文件时,回收程序回收装有这些文件的物理块。成组链法的回收过程仍利用文件管理堆栈进行回收。在回收时,回收程序先做P(tr)←P(tr)+1操作,然后把回收的物理块号放入当前指针P(tr)所指的位置。如果P(tr)等于50,则表示该组已经回收结束。此时,如果还有新的物理块需要回收的话,回收该块并启动I/O设备管理程序,把回收的50个块号与入新回收的块中。然后,将P(tr)重新置1另一个新组。

显然,对空闲块的分配和释放必须互斥进行,否则将会发生数据混乱。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/12 17:37:05