【答案解析】[分析]
管理空闲块除了使用位示图法还可用空闲区表法、空闲链表法、成组链接法。
位示图法是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。文件存储器上的物理块依次编号为:0、1、2、…
位示图是利用二进制的一位来表示磁盘中一个盘块的使用情况。当其值为“0”时,表示对应的盘块空闲;为“1”时表示已分配。由所有盘块对应的位构成一个集合,称为位示图。位示图也可描述为一个二维数组map:var
map:array[1…m,1…n] of bit;一个盘块的分配位示图如图7-3所示。
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
2 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∶ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
图7-3 盘块分配位示图 |
根据位示图进行盘块分配时,可分三步进行:
·顺序扫描位示图,从中找出一个或一组值均为“0”的二进制位;
·将找到的二进制位,转换成与之相应的盘块号;
·修改位示图,令map[i,j]=1。