Summary
This chapter focused on two major topics, the device model and the SCSI subsystem in Linux. We started by giving a brief overview of the device model in Linux and how the kernel provides its view in user space through the Sysfs
VFS. We then moved on to the exploration of the SCSI subsystem and explained its three-level architecture.
As explained in this chapter, SCSI defines both an interface and a data protocol to connect different types of devices to a system. As a medium, it defines a bus for data transmission, and as a protocol, it defines how devices communicate with each other via the SCSI bus. When an application in user space initiates a write request to store data, the SCSI subsystem converts this write request into a SCSI command, to write the requested data on the specified disk location. It acts as a mediator between the higher layers in the I/O stack and the physical storage. SCSI does not assume responsibility for the assembly of blocks during transport or...