|
|
Drivers can be classified into four major divisions based on the mechanism involved in moving data to and from the devices:
The actual data transfer mechanism has a bearing on driver development, especially on the routines and other facilities provided by the operating system to aid the underlying I/O mechanism. While data transfer is completely controlled by the CPU (driver) both in the case of mapped I/O and memory-mapped devices, DMA-based devices and, in particular, intelligent bus-mastering devices, can relieve the CPU of the burden by moving data directly to and from system memory, without need for any processor intervention.