Understanding the Block Layer, Block Devices, and Data Structures
The first three chapters of this book were centered around the first component of the kernel’s I/O hierarchy, which is the VFS layer. We explained the functions and purpose of VFS, as well as how it serves as an intermediary layer between the generic system call interface and filesystems, along with its primary data structures. In addition, we discussed the filesystems that can be found under the VFS layer and introduced some of the essential concepts associated with them.
We’ll now turn our focus to the second major section in the kernel’s storage hierarchy: the block layer. The block layer deals with block devices and is responsible for handling I/O operations performed on block devices. All the user-space programs use the block layer interfaces to address and access the underlying storage devices. Over the last decade or so, physical storage media has undergone a significant transformation...