我在多级分页中也遇到了同样的困惑。对于 inode,我们有指向数据块的直接和间接指针。但是,对于小文件,我们更喜欢使用间接指针,因为它们可以为我们的目的存储更多的指针。
但是,为什么在一级上按顺序存储直接指针会更消耗数据,而如果我们使用间接指针则更少呢?当然,指针都必须存在于文件系统中的某个位置,并且会产生相同数量的空间,不是吗?这个额外的空间是从哪里来的?
这是我认为的一个例子:如果我有 10 个直接指针和 2 个间接指针,每个指针分别导致 128 和 128^2 指针,那么消耗的总大小是否与 10 + 128 + 128^2 相同直接指针?如果没有,如何节省空间?
作为一个附带问题,inode 的典型大小是多少,为什么 inode 的大小会有所不同?