用于存储您的inode的数据结构是什么?

时间:2018-11-06 02:23:09

标签: filesystems inode

据我了解,每个文件都有一个索引节点,该索引节点保存数据块位置和有关该文件的一些元数据。这些inode的存储和引用方法也是什么?我不是在问inode结构本身,而是在如何通过其inode编号区分它们。我们是否有一种类似于位图的inode表新结构?如果要说一个inodes [0]数组,则可以访问零号的inode。

或者我想我很想不到。在我们的文件系统中,我们将一个Inode存储到内存的第一个块中,因此说我们的第一个内存块是inode1,要访问第二个inode,您可以指向第二个内存块,方法是指向内存的开始加上一个内存块的大小记忆

1 个答案:

答案 0 :(得分:0)

enter image description here

这是简单文件系统可能的磁盘布局。引导块包含用于启动整个系统的特殊数据。超级块包含描述文件系统的信息。在超级块之后,可能有一部分内存专用于位图,该位图跟踪系统中未使用的块的方式。位图之后是inode部分。

您可能有一个inode表,该表是一个inode结构数组,可以为您执行inode到inode的转换。就像inode_table [0]一样简单。

或者,这就是我在系统类中的学习方式,如果您具有从物理磁盘读取和写入扇区的功能,并且知道inode节从哪个扇区开始以及一个扇区的大小和一个以字节为单位的索引节点,使用一些算术运算和模运算,您可以轻松地从文件系统中获取特定的索引节点,而无需使用索引节点表。