问题:inode存放在哪里?

我最近开始学习 Linux 内核,我刚刚了解了 inode,它是包含文件元数据的数据结构。

现在,操作系统如何找到文件的关联 inode? (假设是一串路径)。此外,这些 inode 存储在哪里?我的意思是,显然它们存储在磁盘上,但它们是如何管理的呢?

一个天真的解决方案(我能想出)是在磁盘上分配一个仅为 inode 指定的区域 - 实际做了什么?

解答

这取决于文件系统的实现。例如 ext2fs/ext3fs 选择在 Block Group 内的数据块之前存储 inode。第二个扩展文件系统(EXT2)

记住存储在所有块组中的 inode。例如,inode 1 到 32768 将存储在 Block Group-0 中,inode 32768 到 65536 将存储在 Block-Group-2 中,依此类推。所以,你的问题的答案是:inode 存储在 inode 表中,分区中的每个块组中都有一个 inode 表。 在此处输入图像描述

Logo

更多推荐