查看更多
当前 - 选择题 - 文件系统
困难
单选题
2016年11月第6题
#第二版教材
#必须掌握

某文件系统文件存储采用文件索引节点法。假设文件索引节点中有 8 个地址项 iaddr[0]~iaddr[7],每个地址项大小为 4 字节,其中地址项 iaddr[0]~iaddr[5] 为直接地址索引,iaddr[6] 是一级间接地址索引,iaddr[7] 是二级间接地址索引,磁盘索引块和磁盘数据块大小均为 4KB。该文件系统可表示的单个文件最大长度是 (问题1) KB。若要访问 iclsClient.dll 文件的逻辑块号分别为 6、520 和 1030,则系统应分别采用 (问题2)

浓缩知识点

UNIX类文件系统普遍采用多级索引节点机制管理文件存储,核心知识包括:首先是索引地址项的层级划分,分为直接地址索引、一级间接地址索引、二级及三级间接地址索引,直接地址索引直接指向数据块,数量有限,用于小文件的快速访问;一级间接地址索引指向存储数据块地址的索引块,可覆盖远多于直接索引的逻辑块;二级间接地址索引则指向存储一级索引块地址的索引块,可覆盖的逻辑块规模为一级间接的平方量级,层级越高,可支持的文件尺寸越大。其次是关键计算逻辑,已知磁盘块大小与地址项大小时,单个索引块能容纳的地址数为磁盘块大小除以地址项大小,比如4KB磁盘块搭配4字节地址项时,单索引块可存储1024个地址;在此基础上,直接索引对应从0开始、数量等于直接地址项数的连续逻辑块,一级间接对应直接索引之后、数量等于单索引块地址数的连续逻辑块,二级间接则从上述范围结束后开始;单个文件的最大长度为直接地址可寻址块数、一级间接可寻址块数、二级间接可寻址块数之和,再乘以单个磁盘块的大小,计算时需注意单位统一。此外,这种多级索引的设计兼顾了效率与存储能力,小文件通过直接索引减少磁盘IO次数,大文件通过多级索引突破单地址项的存储上限,不过访问层级越高的间接索引,所需的磁盘IO次数越多,比如访问二级间接逻辑块需要三次磁盘读写操作,部分系统还会通过三级间接索引进一步拓展最大文件的存储规模。

正确答案
D

本题考察的是UNIX 风格索引节点与直接/间接寻址范围
关键是根据块大小 4KB地址项 4B计算索引容量,并据此确定不同逻辑块号的归属范围与最大文件长度。
计算与思路:一个索引块能容纳的地址数为 4KB/4B = 1024(记为 1K)。直接地址共有 6 个数据块;一级间接能寻址 1K 个数据块;二级间接能寻址 1K×1K 个数据块。最大文件长度(以 KB 计)等于可寻址数据块总数乘以 4KB:6×4KB + 1024×4KB + 1024×1024×4KB = 24KB + 4096KB + 4194304KB = 4198424KB。
问题 1
A选项 1030:不是文件最大长度(KB),而更像数字规模量级,错误。
B选项 65796:与本题给定层次规模不符,错误。
C选项 1049606:与6+1024+1024×1024的组合不匹配,错误。
D选项 4198424:由最大文件长度 = 24KB + 4096KB + 4194304KB精确计算得到,正确。
因此,选择选项 D。

问题 2
逻辑块号范围为:0~5 为直接地址6~1029 为一级间接(共 1024 个),≥1030 为二级间接
A选项 直接、一级、二级:对应 6、520、1030 分别为直接、一级、二级,但 6 不在直接范围(应为 0~5),错误。
B选项 直接、二级、二级:与范围不符,错误。
C选项 一级、一级、二级:6 属于一级间接范围,520 也在一级间接范围内,1030 刚好落入二级间接范围,正确。
D选项 一级、二级、二级:520 不应为二级间接,错误。
因此,选择选项 C。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有