The ext2 File System
Raw and Block Devices
Raw device has a defined starting and size. But no File System is made for it. Whenever a File System is made for a raw device, it becomes a Block device. Thus a Block device has a File System.
The Boot Block
This boot block can be found only in the root File System. There is a few space allocated for the boot Block at the starting of every File System.
The SuperBlock
The SuperBlock is situated next to the boot Block. The SuperBlock holds a table of information about the File System. The subsequent information is involved in the SuperBlock:
- Number of data Blocks, cylinder groups
- Size of the data Block
- Mount the data, where the File System gets mounted
Backup SuperBlocks
Backup SuperBlocks contains the backup of the superBlock. It is replicated in each and every cylinder group and dataBlock. This enables to protect against data loss. These Blocks are made whenever File Systems are created.
Cylinder Groups
The HDD are partitioned through cylinder groups. A data of the File System would get stored across various cylinder groups. The cylinder group holds inodes, free Blocks, dataBlocks and free inodes.
Inodes
An inode maintains information about every file The inode holds information about the type of file, the access mode of the file, the user and group to that the file belongs, the size of the file, the time at that it was last accessed and modified, the number of data Blocks that are allocated and used for a particular pointers and file.
Depending on the category of File System, the inode can hold more than 40 pieces of information. The areas which are of concern for the system administrator are as given below:
mode - Denotes the permission mask and type of the file.
link count - Denotes the number of directories which contain an entry within this inode number.
user ID - Denotes the ID of the file's owner.
group ID - Denotes the ID of the file's group.
size - Denotes number of bytes in this file.
access time - Denotes the time at that the file was last accessed.
mod time - Denotes the time at that the file was last modified.
inode time - Denotes the time at that this inode structure was last modified.
Block list - Denotes a list of disk Block numbers that hold the first segment of the file.
indirect list - Denotes a list of other Block lists.
The field's mode, link count, group ID, size, user ID and access time are used whenever producing file listings.
Note: The inode does not hold the name of the file. This data is held in the directory file.