有一计算机系统采用如下图所示的位示图(字号、位号都从0开始编号)来管理空间盘块。每个盘块的大小为1KB。问: (1)现要为文件分配两个盘块,试具体说明分配过程。 (2)若要归还磁盘的第300块,应如何处理?
(1)为某文件分配两个盘块的过程如下:
●顺序检索位示图,找到第一个值为0的二进制位,得到其字号ji=2,位号ji=2;
找到第二个值为0的二进制位,得到其字号i2=3,位号j2=6;
●计算出找到的两个空闲块的盘块号分别为: b1=i1×16+j1=2×16+2=34
b2=i2×16+j2=3×16+6=54
●修改位示图,令map[2,2]=map[3,6]=1,并将对应块34、54分配出去。
(2)若要归还磁盘的第300块,应进行如下处理:
●计算出磁盘第300块所对应的二进制位的字号和位号:
字号=[块号/字长]=[300/16]=18;
位号=块号mo﹤1字长=12
●修改位示图,令map[18,12]=0,表示对应块为空闲块。