FreeBSD Device Drivers is the first and only book to teach readers how to develop device drivers for the FreeBSD operating system. A one-stop reference for FreeBSD device driver writers of all levels of expertise, FreeBSD Device Drivers begins with the nuts and bolts of device drivers, including explanations of the different driver components and building blocks. You will then learn how to build and run modules, allocate memory, control device communication, deal with concurrency issues, manage hardware resources, handle interrupts, support direct memory access, write PCI, SCSI, and USB device drivers, and more. With case study chapters that dissect various drivers and a liberal use of examples- from simple "hello, world" drivers to full-blown, hardware-controlling drivers-you will walk away with a full understanding of how device drivers work on FreeBSD.