假设某文件系统的文件索引表有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结构为例)通常包含直接地址索引、一级间接地址索引、二级间接地址索引等层级:
- 直接地址索引:索引表中对应地址项直接指向数据块,对应文件的前N个逻辑块(N为直接地址项的数量),能快速访问小文件逻辑块,无需额外索引块跳转。
- 一级间接地址索引:索引表地址项指向索引块,索引块中存储多个数据块地址,单个索引块可容纳的地址项数=索引块大小÷单个地址项字节数,一级间接覆盖的逻辑块数量为“一级间接地址项数×单个索引块地址项数”,对应逻辑块号是直接索引覆盖范围之后的连续区间。
- 二级间接地址索引:索引表地址项指向一级索引块,一级索引块再指向二级索引块,二级索引块存储数据块地址,可覆盖的逻辑块数量为“单个索引块地址项数的平方”,对应逻辑块号是直接索引+一级间接索引覆盖范围之后的所有区间。
这类结构兼顾效率与扩展性,直接索引保障小文件访问速度,多级间接大幅拓展文件最大可寻址容量。计算各层级对应逻辑块号范围时,需先算出单索引块地址项数,再按直接、一级间接、二级间接的顺序累加覆盖块数来划分区间。
本题考察的是UNIX 风格多级索引文件结构中直接、一级间接与二级间接索引的寻址范围。
多级索引文件系统(以类UNIX结构为例)通常包含直接地址索引、一级间接地址索引、二级间接地址索引等层级: 1. 直接地址索引:索引表中对应地址项直接指向数据块,对应文件的前N个逻辑块(N为直接地址项的数量),能快速访问小文件逻辑块,无需额外索引块跳转。2. 一级间接地址索引:索引表地址项指向索引块,索引块中存储多个数据块地址,单个索引块可容纳的地址项数=索引块大小÷单个地址项字节数,一级间接覆盖的逻辑块数量为“一级间接地址项数×单个索引块地址项数”,对应逻辑块号是直接索引覆盖范围之后的连续区间。3. 二级间接地址索引:索引表地址项指向一级索引块,一级索引块再指向二级索引块,二级索引块存储数据块地址,可覆盖的逻辑块数量为“单个索引块地址项数的平方”,对应逻辑块号是直接索引+一级间接索引覆盖范围之后的所有区间。这类结构兼顾效率与扩展性,直接索引保障小文件访问速度,多级间接大幅拓展文件最大可寻址容量。计算各层级对应逻辑块号范围时,需先算出单索引块地址项数,再按直接、一级间接、二级间接的顺序累加覆盖块数来划分区间。
本小问答案是 一级间接地址索引和二级间接地址索引。题干中的“若要访问文件的逻辑块号分别为5和518,则系统应分别”对应一级间接地址索引和二级间接地址索引。
因此,选项 C 正确。
