文件系统的block大小一般是1KB、2KB或4KB。
假如block大小为1KB,仅仅存储一个10M的文件就需要10240个block。
在bmap的位图中1个字节8位,可以标识8个block。
对于一个block大小为1KB、容量为1G的文件系统而言,block数量有1024*1024个,所以在位图中使用1024*1024个位共1024*1024/8 =131072字节=128K,即1G的文件需要128个block做位图来对应。
如果文件系统是100G呢?100G的文件系统要使用128*100=12800个1KB大小的block,占用了12.5M的空间了。
一般inode大小为128字节或256字节。
对于128字节的inode,1个block存储8个inode,对于256字节的inode,1个block存储4个inode。在ext文件系统上,将这些物理上存储inode的block组合起来,在逻辑上形成一张inode表(inode table)来记录所有的inode。
在物理层面上的划分是将磁盘按柱面划分为多个分区,即多个文件系统;在逻辑层面上的划分是将文件系统划分成块组。每个文件系统包含多个块组,每个块组包含多个元数据区和数据区:元数据区存储bmap、inode 表、imap等数据;数据区存储文件数据的区域。
理下对应关系一个分区对应一个文件系统,一个文件系统有多个块组,每个块组有多个元数据block和数据block。
元数据block包括bmap、inode表、imap。
inode表是存储inode的block组合起来,逻辑上形成的。
bmap是block块位图,imap是inode位图。
网友评论