Product Details
Linux Device Drivers, 3rd Edition

Linux Device Drivers, 3rd Edition
By Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman

List Price: $39.95
Price: $26.37 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

68 new or used available from $9.17

Average customer review:

Product Description

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 Drivers" is 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 applicationareas. 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.


Product Details

  • Amazon Sales Rank: #162385 in Books
  • Published on: 2005-02-07
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 615 pages

Features


Editorial Reviews

Amazon.com Review
Updated to cover version 2.4.x of the Linux kernel, the second edition of Linux Device Drivers remains the best general-purpose, paper-bound guide for programmers wishing to make hardware devices work under the world's most popular open-source operating system. The authors take care to show how to write drivers that are portable--that is, that compile and run under all popular Linux platforms. That, along with the fact that they're careful to explain and illustrate concepts, makes this book very well suited to any programmer familiar with C but not with the hardware-software interface. It's worth noting that the emphasis in the title is on "device drivers" as much as "Linux." This book will make sense to you if you've never written a driver for any platform before. It helps if you have some Linux or Unix background, but even that is secondary as a prerequisite to C skill.

For a programming text--and one concerned with low-level instructions and data structures, at that--this book is remarkably rich in prose. You'll typically want to read this book straight through, more or less skipping the code samples, before sketching out your plan for the driver you need to write. Then, go back and pay closer attention to the sections on specific details you need to implement, like custom task queues. For coding-time details about specific system calls and programming techniques, count on the index to point you to the right passages. --David Wall

Topics covered: Techniques for writing hardware device drivers that run under Linux kernels 2.0.x through 2.2.x. Sections show how to manage memory, time, interrupts, ports, and other details of the hardware-software interface.

Review
'Quite simply, It's an inspiration for anyone interested in pushing contemporary computer hardware and GNU/Linux to the limit'. Linux User, October 2001

About the Author

Rubini has a degree in electronic engineering and a Ph.D. in computer science.


Customer Reviews

Linux Device Drivers5
This is the best and most complete book on writing linux device drivers yet. My only suggestions are (1) that the author writes a new addition or supplement for the 2.2 kernel and (2) that this new book include an example driver after the hello world driver that is only slighlty more complicated in that it uses the fops and one method. An example of how user-space code would then call this driver would be helpful as well.

Bravo

great book for the right person4
I used this book to write a device driver for my computer engineering senior project. It was very helpfull, but could improve. 2nd edition covers almost everything you'll need for 2.4 kernel drivers. Organization is like a text book that includes reference material, but attempts to be a tutorial. Hopefully the 3rd edition will be better organized. I noticed lots of negative reviews on Amazon, but after reading some chapters on safari (the oreilly free book site) I decided to purchase it any ways. If you buy this book and don't have a solid background in operating systems, computer architecture, and microprocessor interfacing you probably won't have an easy time understanding several key topics well enough to write a working driver. This will probably make you mad enough to write another bad review.

Needs work.2
Does contain lots of interesting info about Linux drivers and Linux in general. But the meat is more reference than tutorial. A really great tutorial begins chapter two, and so I thought here I'm really going to learn everything I need to know about creating Linux drivers. Didn't turn out that way. After you work the first exercise, that is, the tutorial example at the beginning of chapter two, you have seen the last of the complete examples. From here on it's code fragments and isolated functions. The author obviously could have written the book we need. But he didn't. It's a valuable book, but it's not a tutorial. What a beginner needs are whole, complete, real, listings of programs that work. Which reminds me, a real driver that drives a real device, presented in its entirety, with all details of how to compile it, and how to run it, would have been far more instructive than a "driver" that reads and writes only in memory so that it can be "portable" across many Linux platforms. A portable driver probably is a neat stunt that impresses existing gurus, but that's not the group that needs this book. To see what I'm driving at, look at Kernighan and Pike's "The UNIX Programming Environment." Their big programming project is indeed presented in fragments and isolated functions in their chapter eight, but the entire project just as it will appear on your disk is listed in the appendix. If Rubini had followed that model his book could have been really instructive. But he didn't. So there's an opportunity here. Some guru should set down and assemble these fragments into the book we need.