假设某文件系统的文件索引表有i-addr[0],i-addr[1] ,..., i-addr[7]共 8个地址项,每个地址项大小为 4 字节,其中 5 个地址项 (i-addr[0]~i-addr[4] )为直接地址索引,2个地址项 (i-addr[5]~i-addr[6])是一级间接地址索引,1个地址项 (i-addr[7] )是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB。若要访问文件的逻辑块号分别为5和518,则系统应分别采用(__)。
本题考察的是UNIX 风格多级索引文件结构中直接、一级间接与二级间接索引的寻址范围。
数据块与索引块大小均为 1KB,地址项为 4B,可存放的地址数为:1KB / 4B = 1024 / 4 = 256 项。
因此,一个一级间接索引可指向 256 个数据块;一个二级间接索引可指向 256×256 个数据块。本题共有 5 个直接块,2 个一级间接块,1 个二级间接块。逻辑块号与索引方式的对应关系为:0~4 为直接索引;5~516 为一级间接索引(2×256 个);517 及以上为二级间接索引。
由此可知,逻辑块号 5 属于一级间接范围,逻辑块号 518 属于二级间接范围,故选 C。
A选项 直接地址索引和一级间接地址索引:逻辑块号 5 的确需要一级间接,但 518 已超出一级间接的最大逻辑块号 516,应为二级间接,错误。
B选项 直接地址索引和二级间接地址索引:逻辑块号 5 不在直接索引范围(直接仅覆盖 0~4),应为一级间接,错误。
C选项 一级间接地址索引和二级间接地址索引:逻辑块号 5 位于 5~516,采用一级间接;逻辑块号 518 ≥ 517,采用二级间接,正确。
D选项 二级间接地址索引和一级间接地址索引:与实际顺序相反,错误。
