Second Edition.
Device drivers make computer devices like disks, monitors, keyboards and modems work with a particular operating system. Device drives convert the more general input/output instructions of the operating system to messages the device can understand. Programmers need unique, Linux-specific knowledge to write device drivers for the Linux operating system.
This book is for anyone who wants to support computer peripherals under the Linux operating system or develop new hardware to run under Linux. For those curious about how an operating system does its job, this book yields insights into address spaces, asynchronous events, and I/O.
The book also focuses on how to maximise portability among hardware platforms. It is completely updated to include new calls and techniques introduced in Versions 2.2 and 2.4 of the Linux kernel.