2011-11-20 54 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个三重间接块条目。