Linux Device Drivers, 3rd Edition


Device drivers literally drive everything you’re interested in–disks, monitors, keyboards, modems–everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O’Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you’ll need to write drivers for a wide range of devices.

Over the years the book has helped countless programmers learn:

  • how to support computer peripherals under the Linux operating system
  • how to develop and write software for new hardware under Linux
  • the basics of Linux operation even if they are not expecting to write a driver

The new edition of Linux Device Driversis better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more.

Best of all, you don’t have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware.

Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you’re writing device drivers, you’ll want this book. In fact, you’ll wonder how drivers are ever written without it.

Table of Contents
Chapter 1. An Introduction to Device Drivers
Chapter 2. Building and Running Modules
Chapter 3. Char Drivers
Chapter 4. Debugging Techniques
Chapter 5. Concurrency and Race Conditions
Chapter 6. Advanced Char Driver Operations
Chapter 7. Time, Delays, and Deferred Work
Chapter 8. Allocating Memory
Chapter 9. Communicating with Hardware
Chapter 10. Interrupt Handling
Chapter 11. Data Types in the Kernel
Chapter 12. PCI Drivers
Chapter 13. USB Drivers
Chapter 14. The Linux Device Model
Chapter 15. Memory Mapping and DMA
Chapter 16. Block Drivers
Chapter 17. Network Drivers
Chapter 18. TTY Drivers
Chapter 19. Bibliography

Book Details

  • Paperback: 640 pages
  • Publisher: O’Reilly Media; 3rd Edition (February 2005)
  • Language: English
  • ISBN-10: 0596005903
  • ISBN-13: 978-0596005900
Download [5.8 MiB]

You may also like...

Leave a Reply