Device Driver Basics
Device drivers make up the major part of the Linux kernel. Like other
parts of the operating system, they operate in a highly privileged
environment and can cause disaster if they get things wrong.
Device drivers control the interaction between the operating system
and the hardware device that they are controlling. For example,
the filesystem makes use of a general block device interface when writing
blocks to an IDE disk. The driver takes care of the details and makes
device specific things happen.
Device drivers are specific to the controller chip that they are driving
which is why, for example, you need the NCR810 SCSI driver if your system
has an NCR810 SCSI controller.