- Used Books
- Staff Picks
- Gifts & Gift Cards
- Sell Books
- Stores & Events
- Let's Talk Books
Special Offers see all
More at Powell's
Recently Viewed clear list
New Trade Paper
Ships in 1 to 3 days
Other titles in the Nutshell Handbooks series:
Linux Device Drivers, 3rd Edition (Nutshell Handbooks)by Jonathan Corbet and Alessandro Rubini and Greg Kroah-Hartman
Synopses & Reviews
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:
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 increasingsupport, 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.
"If you are a developer immersed in the bowels of the Linux kernel version 2.4, this is one book you'll likely read until it's ragged..." Emmett Dulaney, UnixReview.com
Book News Annotation:
Assuming experience with C programming and Unix system calls, this guide outlines the proper setup of kernels modules, addresses specific aspects of writing a full-featured driver for a char-oriented device, and describes block drivers and network interfaces. The third edition covers the 2.6.10 kernel and adds chapters on the USB bus and the serial driver subsystem.
Annotation ©2004 Book News, Inc., Portland, OR (booknews.com)
How to support peripherals or develop new hardware under Linux
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
PrefaceChapter 1: An Introduction to Device DriversChapter 2: Building and Running ModulesChapter 3: Char DriversChapter 4: Debugging TechniquesChapter 5: Concurrency and Race ConditionsChapter 6: Advanced Char Driver OperationsChapter 7: Time, Delays, and Deferred WorkChapter 8: Allocating MemoryChapter 9: Communicating with HardwareChapter 10: Interrupt HandlingChapter 11: Data Types in the KernelChapter 12: PCI DriversChapter 13: USB DriversChapter 14: The Linux Device ModelChapter 15: Memory Mapping and DMAChapter 16: Block DriversChapter 17: Network DriversChapter 18: TTY DriversChapter 19: Bibliography
What Our Readers Are Saying
Other books you might like
Computers and Internet » Operating Systems » General