题:
假设一个I节点可以容纳7个直接块指针和一个单间接块指针。如果块大小为4KB,并且有32位块号,系统支持的最大文件是什么?
回答:
7个直接块,大小为4KB
间接块指向4K / 4 = 1024个块,每个块大小为4KB
1031 * 4K = 4222976B = 4124KB〜4.03MB
通常,如今的inode具有:
12个直接块指针
1个间接指针
1个双重间接指针
1个三重间接指针
<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>
我知道一个索引节点有7个直接块指针和1个间接块指针,每个块指针的大小为4kb。当它说有32位块号时,这是否意味着那里有1024个块指针?
最佳答案
如果块大小为4 kiB,并且您具有32位(4字节)块号,则在一个块中可以有1024个这样的块号。 (我认为这是您不了解的部分。)这意味着:32位数字中的每一个都使用该块的4个字节,因此这些数字中的1024个使用4096字节=恰好是1个块。因此,一个块中可以存储1024个块号。
但是在inode中,通常首先使用七个(通常)直接块。所有大小小于28 kiB的文件仅使用直接块。
一旦直接块用完,就将一个块分配并分配给该索引节点,以作为可以存储的块编号列表。