2015-04-24 141 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