2015-04-24 142 views
0

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

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

回答

2

你是在正确的轨道上。

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

这从哈佛大学图像链接如下: Multi-Level Indexed Allocation

的图像示出了单个间接指针指向唯一一个索引块,然后以数据块。双重间接指针指向一个索引块,它包含更多指向更多索引的n个指针!三重间接指针除了在获取数据块之前具有索引块层之外,其余三个间接指针是相同的。

所以有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

+0

重新读你问题,你可能需要请教授澄清。如果他只是一个三级树结构,那么答案就是n^3 x块大小。 – Takahashinator