我想知道是否有人可以仔细检查我对以下问题的回答。我不确定我是否正确理解单个间接块和双重间接块。
磁盘块为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
℃。前22个条目是指向直接块的指针,第23个条目是指向单个间接块的指针,第24个条目是指向双重间接块的指针
22 pointers x 2 KB = 44 KB + 2 MB + 2 GB
答案 0 :(得分:1)
作业?
a)正确 b)你有24个指向第一级间接块的指针。您可以在每个间接块中存储512个指针。每个指针指向一个2KB的数据块。
24 x 512 x 2KB = 24MB
我不明白你从哪里拿到2MB?
c)中 指向2KB块的22个指针:
22 x 2KB = 44 KB
指向512KB指针的1个指针:
1 x 512 x 2KB = 1 MB
指向512个指针的指针,每个指针指向一个512指针到2KB的块:
1 x 512 x 512 x 2KB = 512 MB
对于真实文件系统的开发,通常使用类似c)的东西。例如,ext3有12个直接,1个间接,1个双间接块条目。