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