1

我想知道是否有人可以仔细检查我对以下问题的回答。我不确定我是否正确理解了单间接块和双间接块。

一个磁盘块为 2KB,使用索引分配。文件的 inode 长度为 128 字节,其中 32 字节用于状态信息。剩余的 96 个字节用于索引条目 - 每个条目 4 个字节。

如果使用以下方案,文件中可以存储的最大数据量是多少?

一个。每个索引条目都是指向直接块的指针

24 pointers x 2 KB = 48 KB

湾。每个索引条目都是指向单个间接块的指针

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
4

1 回答 1

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 个三间接块条目。

于 2011-11-24T17:19:17.360 回答