操作系统——成组链接法

UNIX空间空间管理——成组链接法

成组链接法是将将空闲表和空闲链表结合起来,兼备两种方法的优点。

空闲盘块的组织

(1)空闲盘块号栈

用来存放当前可用的一组空闲盘块的盘块号(最多100),以及栈中尚有的空闲盘块号数N,N可以兼做栈顶指针用。

(2)分组

文件区所有空闲盘块被分成若干个组,如将每100个盘块作为一个组。

(3)成链

将每一组含有的盘块总数N和该组所有的盘块号记入其前一组的第一个盘块的s.free(0)---s.free(99)。由各组的第一个盘块链成一条链。

如图:

 

空闲盘块的分配和回收

分配

(1)空闲盘块是否上锁,未上锁 ,栈顶取一空闲盘块号

(2)将栈顶指针下移一格,空闲盘块号数-1

(3)若该盘块号已是栈底,调用磁盘读过程,将内容读入栈中,作为新的盘块号内容。并把栈底对应的盘块分配出去。(数据已读入栈中)

(4)再分相应缓冲区,作为该盘块的缓冲区。最后把栈中的空闲盘块数-1返回。

回收

将回收的盘块号放入空闲盘块号栈顶,空闲盘块数+1。若栈中空闲盘块号数已达100时,表示栈已满,将现有的100个盘块号记入新回收的盘块中,再将其盘块号作为新的栈底。

例题

成组链接法管理空闲盘块,每组4块,当前情况如图:

 (1)画出回收801,802块后的情况:

 (2)回收后,有一进程又需要分配4块空闲盘块,画出分配之后的情况。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值