Chapter 7
Reading and Writing Data
All the infrastructure I ve described so far in this book leads up to this chapter, where I finally cover how to read and write data from a device. I ll discuss the service functions you call to perform these important operations on a device plugged in to one of the traditional buses, such as Peripheral Component Interconnect (PCI). Since many devices use a hardware interrupt to notify system software about I/O completion or exceptional events, I ll also discuss how to handle an interrupt. Interrupt processing normally requires you to schedule a deferred procedure call (DPC), so I ll describe the DPC mechanism too. Finally I ll tell you how to arrange direct memory access (DMA) transfers between your device and main memory.