单选题 如果读取 (12) 的某磁盘块,修改后在写回磁盘前系统崩溃,则对系统的影响相对较大。通常的解决方案是采用文件系统的一致性检查,一致性检查包括块的一致性检查和文件的一致性检查。在块的一致性检查时,检测程序构造一张表,表中为每个块设立两个计数器,一个跟踪该块在文件中出现的次数,一个跟踪该块在空闲表中出现的次数。假设系统有16个块,检测程序通过检测发现表 (13) 状态下的文件系统是一致的。

【正确答案】 D
【答案解析】
单选题
选 项
块 号
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”;这意味着该文件系统的一致性检查是正确的,因此(3)空缺处应选择答案A。
对于选项B,块号为2的物理块在计数器1为状态“0”,这意味着没有文件使用这个块:但在该块的计数器2的状态也为“0”,这意味着这个块也不空闲;因此文件系统在一致性检查时将发现该问题。
对于选项C,块号为5的物理块在计数器1为状态“2”,这意味着这个块被重复分配了2次,文件系统在一致性检查时将发现该问题。
对于选项D,块号为8的物理块在计数器2为状态“3”,这意味着这个块被重复释放了3次,文件系统在一致性检查时将发现该问题。