Get it by Thursday, June 21
, Order now and choose Expedited Delivery during checkout.
Same Day delivery in Manhattan. Details
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
|Publisher:||O'Reilly Media, Incorporated|
|Edition description:||Third Edition|
|Product dimensions:||7.00(w) x 9.19(h) x 1.30(d)|
About the Author
Jonathan Corbet got his first look at the BSD Unix source back in 1981, when an instructor at the University of Colorado let him "fix" the paging algorithm. He has been digging around inside every system he could get his hands on ever since, working on drivers for VAX, Sun, Ardent, and x86 systems on the way. He got his first Linux system in 1993, and has never looked back. Mr. Corbet is currently the co-founder and executive editor of Linux Weekly News (http://LWN.net/); he lives in Boulder, Colorado with his wife and two children.
Alessandro installed Linux 0.99.14 soon after getting his degree as electronic engineer. He then received a Ph.D. in computer science at the University of Pavia despite his aversion toward modern technology. He left the University after getting his Ph.D. because he didn't want to write articles. He now works as a free lancer writing device drivers and, um...articles. He used to be a young hacker before his babies were born; he's now an old advocate of Free Software who developed a bias for non-PC computer platforms.
Greg Kroah-Hartman has been writing Linux kernel drivers since 1999, and is currently the maintainer for the USB, PCI, I2C, driver core, and sysfs kernel subsystems. He is also the maintainer of the udev and hotplug userspace programs, as well as being a Gentoo kernel maintainer, ensuring that his email inbox is never empty. He is a contributing editor to Linux Journal Magazine, and works for IBM's Linux Technology Center, doing various Linux kernel related tasks.
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
Most Helpful Customer Reviews
[A review of the 3RD EDITION, 2005.] Device drivers will always be a small speciality in any operating system. Linux is no exception. While it grows strongly, most programmers using it simply can ignore issues of hooking up to various hardware items. Someone has already worked those out. Well, here you are that someone and this book addresses many of your needs. The coding is in C. No fancy object oriented stuff for you. Many higher level OO programmers are simply unaware of the extra overhead it takes. But you need to maximise performance, so it is C for you. Plus, to understand much of the book, it really helps to have written some assembly code, because it makes it easier to understand many low level operations discussed. Prior acquaintance with the overall design of a linux memory manager and interrupt handlers is also good. The book explains well individual issues as they arise. But having a clear, top-down understanding of the linux kernel may give you more context to understand the chapters.