操作系统中的多级间址计算题

我们直接上题目。

【2010 考研 408 统考真题】设文件索引结点中有 7 个地址项,其中 4 个地址项是直接地址索引,2 个地址项是一级间接地址索引,1 个地址项是二级间接地址索引,每个地址项大小为 4B,若磁盘索引块磁盘数据块大小均为 256B,则可表示的单个文件的最大长度?

【解答】
为了便于理解我们先把图画上
在这里插入图片描述

根据题目描述,一共 7 个地址项,前 4 个为直接地址项,也就是说,如果这些盘块用来装文件,就直接装,因为盘块大小都为 256 B,所以前四个盘块我们可以装 4*256 B 大小的文件。

接下来再来看,一共有 2 个一级间址(间接地址),也就是说,5,6 号盘块现在不用来装实际的文件数据了,而是用来装一组间接的地址,因为一个地址项有 4B 大小,所以一个盘块可以装 256/4 B 的地址,也就是 5,6 号盘块一共可以装 2*(256/4)B = 128B 这么多的地址,而这些地址(指针)将会(一对一)指向其他的空的盘块,正如我们知道的一个盘块 256B ,所以一级间址一共可以装 2*(256/4)*256 B 的文件。就是说 128B 大小的地址中,每个地址指向的一个盘块有 256B,一共就是 2*(256/4)*256 B 多的文件。

二级间址,乃至三级间址都是一样的计算方式,你可以先自己尝试一下,然后再看下面的解答。

ok,题目告诉一共有一个二级间址,就是说我现在 7 号盘块分成 128B 装地址,这些地址指向的盘块又被用来装地址(一级间址的时候只有一次磁盘块用来存储地址),也就是 (256/4)*(256/4)这么多个地址,每个地址都指向一个盘块(256B),所以结果是 (256/4)*(256/4)*256

而题目问的最大的单个文件,就是指直接地址,一级间址,二级间址一共可以用的空间大小,就是把上面计算的值加起来:4*256 B + 2*(256/4)*256 B + (256/4)*(256/4)*256 = 1082368 B = 1057KB

猜你喜欢

转载自blog.csdn.net/qq_34902437/article/details/99616197