扫一扫二维码
进群一起备考
查看更多
当前 - 选择题 - 文件系统困难
单选题
2018年5月第33题
困难
单选题
2018年5月第33题
#第二版教材
#必须掌握
某系统磁盘数据块的大小为1024KB,系统磁盘管理采用索引文件结构,每个索引指针占用4个字节。一个索引文件的索引节点有8个直接块地址、1个一级间接块地址、1个二级间接块地址和1个三级间接块地址。假设索引节点已经在内存中,那么访问该文件偏移地址9089字节的数据需要再访问(__)次磁盘。
问题(1)
浓缩知识点
UNIX类系统的索引文件通过索引节点管理数据块地址,索引节点一般包含直接块地址、一到三级间接块地址。判断该场景下的磁盘访问次数,核心看数据偏移所属的寻址区间,且需关注索引节点是否在内存:若索引节点已在内存,直接块覆盖范围内的偏移仅需1次磁盘访问就能读取对应数据块,直接块的最大覆盖范围为直接块数量乘以单个磁盘块的大小。针对间接块层级,一级间接块需先读取间接块获取数据块地址再读取数据,共2次磁盘访问,其覆盖范围为单个磁盘块可容纳的指针数(磁盘块大小除以单个指针字节数)乘以磁盘块大小;二级间接块需依次读取两级间接块再读数据,共3次访问;三级间接块则需要4次访问。此外,磁盘块大小与指针字节数会决定各层级间接块能承载的地址数量,进而影响对应层级的寻址覆盖范围。
正确答案
A
本题考察的是UNIX 索引文件结构中的直接块、间接块与数据访问次数。
- 磁盘块大小:1024KB(即 1024 × 1024 = 1048576B)。
- 直接块寻址范围:有 8 个直接块地址,因此可寻址的数据范围是:8 × 1024KB = 8192KB = 8 × 1024 × 1024 = 8388608B。
- 偏移地址:题中要求访问偏移 9089B。这个数值远远小于 8388608B,因此肯定属于直接块范围。
- 访问过程:
- 索引节点(i-node)已经在内存中,不需要再访问磁盘。
- 只需通过直接块地址找到对应的数据块,再访问该数据块。
因此只需 1次磁盘访问。
选择选项 A。
