问题
单项选择题
如果一个索引式文件的索引节点有10个直接块,1个一级间接块,1个二级间接块,1个三级间接块。假设每个数据块的大小是512B,一个索引指针占用4B。假设索引节点已经在内存中,那么访问该文件偏移地址在6000B的数据需要再访问()次磁盘。
A.1
B.2
C.3
D.4
答案
参考答案:B
解析:因为每个数据块的大小是512B,且前10块可以直接寻址,得出1~5120B范围内可以直接寻址。对于间接索引块,一个索引指针占4B,则一个索引块可以映射512/4=128个数据块,因为每个数据块的大小是512B,合计64KB。6000B-5120B=880B<64KB,所以只需一次映射就够了。因此,第1次取索引指针,第2次读数据,一共需要两次访问。