【问题标题】:Block Size and inode size in a filesystem文件系统中的块大小和索引节点大小
【发布时间】:2019-01-25 23:42:23
【问题描述】:

我正在阅读“Dominic Giampaolo”的“实用文件系统设计”一书。

两个重要的概念是

  1. 块:文件系统的最小可读或可写内存单元。

  2. Inode:Inode,是一个区域,它存储有关文件的数据,存储有关组成文件的块存储位置的数据。

作者陈述了将一些块地址直接存储在 i-node 中所引入的简单性。然后他提到了在“i-node 的大小”和 i-node map 的数据量之间面临的权衡。

因此,他提到 i-node 的大小在它是块大小的偶数时效果最佳。

如何推理出上述说法?有任何计算可以支持这一点吗?

【问题讨论】:

    标签: filesystems


    【解决方案1】:

    由于所有读/写操作都在块级别进行,因此让您的 inode 块对齐并占用整个块可确保您的读/写操作不会造成浪费。 如果一个块是 4096 字节,但一个 inode 只有 4000 字节,那么: 1. 我们的 inode 是块对齐的:我们效率不高,因为我们总是浪费每个块的 96 个字节。 2. 我们的 inode 不是块对齐的:我们的效率不是很高,因为当我们想要读取一个 inode 时,我们经常需要读取两个块 - 它们都不会 100% 被 inode 数据占用。

    我们在以下情况下保持高效: 1.一个inode的大小等于一个块的大小(1:1的比例) 2.一个inode的大小是一个块大小的精确倍数(1:n的比例) 3.块的大小是一个inode大小的精确倍数(n:1比例)

    【讨论】:

      猜你喜欢
      • 2012-11-28
      • 2020-09-12
      • 2023-03-29
      • 2013-12-05
      • 2010-12-02
      • 1970-01-01
      • 2015-07-03
      • 1970-01-01
      • 2015-01-03
      相关资源
      最近更新 更多