2011-11-20 92 views
1

我想知道是否有人可以仔細檢查我對以下問題的答案。我不確定自己是否正確理解單個間接塊和雙重間接塊。文件系統索引分配:inode

磁盤塊是2KB並使用索引分配。文件的inode長度爲128個字節,32個字節用於狀態信息。其餘的96個字節用於索引條目 - 每個條目4個字節。

如果使用以下方案,可以存儲在文件中的最大數據量是多少?

a。每個索引條目是指向直接塊的指針

24 pointers x 2 KB = 48 KB 

b。每個索引條目是指向單個間接塊的指針

2 KB/4 pointers = 512 pointers = 2 MB x 24 = 48 MB 

c。第一22項是指向直接塊,第23項是指向單個間接塊,和第24項是指向雙重間接塊

22 pointers x 2 KB = 44 KB + 2 MB + 2 GB 

回答

1

作業?

a)正確 b)您有24個指向第一級間接塊的指針。您可以在每個間接塊中存儲512個指針。每個指針指向一個2KB的數據塊。

24 x 512 x 2KB = 24MB 

我不明白你從哪裏得到你的2MB?

C) 22指針2KB塊:

22 x 2KB = 44 KB 

1指針512指向2KB:

1 x 512 x 2KB = 1 MB 

1指針512的指針的每個指向具有512點的指針2KB的塊:

1 x 512 x 512 x 2KB = 512 MB 

對於真正的文件系統的開發通常是一些像c)一樣被使用。例如,ext3具有12個直接,1個間接,1個雙重間接和1個三重間接塊條目。