【问题标题】:File-system indexed allocation: inode文件系统索引分配:inode
【发布时间】:2012-01-02 10:54:26
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: filesystems operating-system inode


    【解决方案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 个三间接块条目。

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 2015-09-07
      • 2020-06-12
      • 2012-12-23
      • 2011-07-24
      • 2020-01-19
      • 2013-05-10
      • 2020-08-16
      • 1970-01-01
      相关资源
      最近更新 更多