索引分配最大文件大小

时间:2015-04-24 05:39:40

标签: operating-system

以下是有关文件系统索引分配的示例测验问题。 我有点卡住了。我认为答案可能是512 ^ 3字节,但我不确定。任何人都可以解释一下。

  

操作系统使用三级索引进行文件分配。如果是索引块   包含指向其他块(数据或索引)的n个指针,是什么   使用这种分配方案的文件允许的最大大小?

1 个答案:

答案 0 :(得分:2)

你走在正确的轨道上。

第一个节点有问题中给出的n个指针。通常,对于三重间接系统,这意味着有n-3"直接"指向数据的指针和指向另一个索引块的3个间接指针。

哈佛大学的这张图片如下: Multi-Level Indexed Allocation

图像显示单个间接指针仅指向一个索引块,然后指向数据块。双重间接指针指向一个索引块,其中包含n个指向更多索引的指针!三重间接指针是相同的,除了在到达数据块之前它具有 3 层的索引块。

所以有n-3个直接块;

n个单独的间接块;

n ^ 2个双重间接块和

n ^ 3个三重间接块。

给定任意块大小,总最大大小变为:

blocksize*(n^3 + n^2 + n + (n-3)) 

blocksize*(n^3 + n^2 + 2n - 3)

哈佛大学查看这些幻灯片:http://www.eecs.harvard.edu/~mdw/course/cs161/sp07/notes/ffs.pdf

此站点还描述了4.3 BSD UNIX如何实现它:https://web.stanford.edu/~ouster/cgi-bin/cs140-winter16/lecture.php?topic=files