Appearance
题目
设文件索引结点中有 7 个地址项,其中 4 个地址项是直接地址索引,2 个地址项是一级间接地址索引,1 个地址项是二级间接地址索引,每个地址项大小为 4B,若磁盘索引块和磁盘数据块大小均为 256B,则可表示的单个文件最大长度是()。
错因
A
只算了直接 + 一级间接:4 + 2×64 = 132 块 = 33KB,漏了二级间接。1 个二级间接能容纳 64×64 个数据块 = 1024KB,是文件大小的主要部分,漏掉就严重低估。
B
可能把"二级间接项数"算成了 64×16 之类的错估,或者只算了部分二级间接。519KB 不对应任何标准计算,多半是中间步骤算错。
D
可能把"一级间接"误算成了 2 × 64 × 64 块(按二级算了),或者把直接索引算多了。1651 偏大,比正确的 1057 多了一倍多,是某一级算重了。
总解析
关键参数:
| 项 | 值 |
|---|---|
| 数据块大小 | 256B |
| 索引块大小 | 256B |
| 地址项大小 | 4B |
| 每个索引块能放的指针数 |
逐级容量:
| 索引类型 | 项数 | 单项覆盖块数 | 总块数 | 总字节 |
|---|---|---|---|---|
| 直接 | 4 | 1 块 | 4 | |
| 一级间接 | 2 | 64 块(一个间接块的指针数) | ||
| 二级间接 | 1 | 块(一级间接块指向 64 个二级间接块,每个二级间接块 64 项) |
总和:
直观:直接小、一级中、二级大——大文件的主要支撑是二级间接(覆盖 1024KB ≈ 96% 总容量)。
| 计算式 | 数值(KB) |
|---|---|
| 直接: | 1 |
| 一级: | 32 |
| 二级: | 1024 |
| 合计 | 1057 |
最终答案是 C。