单选题 在文件系统块的一致性检查时,检测程序构造一张表,表中为每个块设立两个计数器,一个跟踪该块在文件中出现的次数,一个跟踪该块在空闲表中出现的次数。假设系统有16个块,检测程序通过检测发现表{{U}} (28) {{/U}}状态下的文件系统是一致的。
选项
块号
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
计数器1(使用中的块)
0
1
1
1
1
1
1
0
0
1
1
1
0
0
1
1
计数器2(空闲块)
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
B
计数器1(使用中的块)
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
计数器2(空闲块)
1
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
C
计数器1(使用中的块)
0
1
0
1
1
2
1
0
0
1
1
1
0
0
1
1
计数器2(空闲块)
1
0
1
0
0
0
0
1
1
0
0
0
1
1
0
0
D
计数器1(使用中的块)
0
1
0
1
1
1
1
0
0
1
1
1
0
0
1
1
计数器2(空闲块)
1
0
0
0
0
0
0
1
3
0
0
0
1
1
0
0
【正确答案】 A
【答案解析】[要点解析] 影响文件系统可靠性因素之一是文件系统的一致性问题,如果读取系统目录文件(如索引节点块、目录块或空闲管理块)的某磁盘块,修改后在写回磁盘前系统崩溃,则对系统的影响是不堪设想的。通常的解决方案是采用文件系统的一致性检查,一致性检查包括块的一致性检查和文件的一致性检查。 在块的一致性检查时,检测程序构造一张表,表中为每个块设立两个计数器,一个跟踪该块在文件中出现的次数,一个跟踪该块在空闲表中出现的次数。 本案例中假设系统有16个块,对于选项A,当某个块的计数器1为状态“1”,在该块的计数器2的状态则为“0”;在某个块的计数器1为状态“0”,则该块的计数器2的状态则为“1”;这意味着该文件系统的一致性检查是正确的,因此本试题答案为选项A。 对于选项B,块号为2的物理块在计数器1为状态“0”,这意味着没有文件使用这个块;但在该块的计数器2的状态也为“0”,这意味着这个块也不空闲;因此文件系统在一致性检查时将发现该问题。 对于选项C,块号为5的物理块在计数器1为状态“2”,这意味着这个块被重复分配了2次,文件系统在一致性检查时将发现该问题。 对于选项D,块号为8的物理块在计数器2为状态“3”,这意味着这个块被重复释放了3次,文件系统在一致性检查时将发现该问题。