ext2文件系统主要由三部分超级块superblock、inode、数据块data block三部分组成。
从上图看出,文件系统主要由引导块、若干块组组成。这里的引导块是文件系统最前面的一个启动扇区,用于安装引导装载程序。最大的好处可以将不同的装载程序放在不同的文件系统的前端,制造出多重引导的环境。文件系统之所以分块组0、块组n,主要是便于分开、独立的管理。防止文件系统过大使用同一个块组会导致inode、block的数量庞大,索引起来相对也会降低系统性能。
每一个块组有超级块(super block)、组描述符、数据块位图、索引节点位图、索引节点表、数据块组成。
超级块:主要记录文件系统的总体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息等。
组描述符:描述此块组的开始与结束的block块号码,以及说明每个超级块、数据块位图、索引节点位图等分别介于哪些block号码之间。
数据块位图:添加或者删除文件时,都需要一些block数据块记录,比如添加文件会选择空的block块来记录新数据。如何知道哪些block块的数据为空,此时通过数据块位图的实时指示即能够找到空的数据块block,使用即可。所谓的实