Final Year Project: Using Linux Filesystems Under Windows   Chris Bryden BEng. Electronics and Software Engineering    School of Computer Science   University of Birmingham 10 3.3.1  Block Groups: The Building Blocks of the Filesystem The blocks that make up the filesystem are organised into groups known as block groups. These groups allow an order to be imposed on block allocation within  the  filesystem,  and  provide  a  useful  backup  mechanism  for  important filesystem housekeeping information They are laid out as shown in the diagram below: Each  block  group  contains  a  copy  of  crucial  filesystem  information,  the superblock and the group descriptors. Only the copy located in block group 1 is used by the kernel but the others provide a backup. In addition to this each block group also contains a piece of the filesystem: a block bitmap, an inode bitmap, a section of the inode table and the actual data blocks. These are laid out on the disk in the order shown in the diagram below: · =The Superblock is a structure that contains vital information used by the kernel when mounting and accessing the filesystem. · =The  Group  Descriptors  hold  information  relating  to  each  block  group  in  the filesystem.   Each   group   descriptor   only   relates   to   the   particular   group   it describes. They are located one after another in the same order as the block groups on the disk that they describe. · =The Block and Inode bitmaps are used to indicate which blocks/inodes within the group have been allocated. · =The Inode table contains all the inodes for this group. · =The  data  blocks  make  up  the  rest  of  the  group  and  are  where  files  and directories are actually stored. Boot Block Block Group 1 Block Group 2 Block Group N SuperBlock Group Descriptors Block Bitmap Inode Bitmap Inode Table Data Blocks