以下是有关文件系统索引分配的示例测验问题。 我有点卡住了。我认为答案可能是512 ^ 3字节,但我不确定。任何人都可以解释一下。
操作系统使用三级索引进行文件分配。如果是索引块 包含指向其他块(数据或索引)的n个指针,是什么 使用这种分配方案的文件允许的最大大小?
答案 0 :(得分:2)
你走在正确的轨道上。
第一个节点有问题中给出的n个指针。通常,对于三重间接系统,这意味着有n-3"直接"指向数据的指针和指向另一个索引块的3个间接指针。
图像显示单个间接指针仅指向一个索引块,然后指向数据块。双重间接指针指向一个索引块,其中包含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