inode数据结构是否包含磁盘上文件的实际地址?

inode数据结构是否包含磁盘上文件的实际地址?

我目前正在学习Linux文件系统。到目前为止我学到了以下内容:

  • 目录只是一个包含以下信息的文件:文件名及其索引节点号。
  • 有一个索引节点表,其中包含每个索引节点号的数据结构。该数据结构包含所有者 ID、组 ID、文件大小等信息。

现在,inode 数据结构还包含磁盘上文件的实际地址,还是仅包含知道磁盘上文件实际地址的其他某些数据结构的地址?

答案1

这取决于文件系统类型。然而,在大多数文件系统中,inode(或 dinode)将包含前几个数据块(称为“直接块”)的地址,然后,对于较大的文件,“间接块”的地址本身存储指向的指针附加数据块。

索引节点指针结构维基百科页面了解更多详细信息。

出于学习目的,我建议查看结构相对简单的 UFS 文件系统。看UFS二极管结构,特别di_dbdi_ib对于指向直接和间接块的指针。

相关内容