Linux Device Drivers, 3rd Edition
Book DetailsAvailability: Usually ships in 24 hours
List Price: $39.95
Our Price: $26.37
You Save: $13.58 (34%)
Spotlight Customer ReviewsAverage Customer Rating: 4.21
Customer Rating: 2
Summary: Needs work.
Comment: 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.
Customer Rating: 1
Summary: Very disorganized presentation
Comment: I can't understand the 5-star reviews of this book. I wonder if anyone who gave the book 5 stars ever tried to sit down and actually write a device driver. I doubt it.
The book suffers from two main problems:
1. Presentation is disorganized. The book reads as if the authors sat down and planned out what chapters to cover. That part is good. It does NOT seem like they planned further than that. The text within each chapter seems haphazard. Disorganized. Thrown together. The authors have no concept of when to start a new paragraph, so topics are strung together piecemeal. The whole book is confusing, making the reading of this book very frustrating.
2. The material is presented at a frenetic pace. As I was reading the book, it felt like there was a conveyor belt feeding me information, getting faster and faster without a break. The authors feel like they can throw everything but the kitchen sink at you in a very short time. Information, minute details, big ideas, analogies, and code get thrown at you fast and furious. It starts at chapter one and just gets worse from there, making the reading of this book downright difficult.
Difficult and confusing. A good characterization of the book.
In summary, this book is NOT a tutorial. It is NOT a guide. Don't make the mistake of buying this book expecting a gentle (or even a not-so-gentle) introduction to writing device drivers.
IMHO, the market is still open for a good book on the subject of writing device drivers for Linux.
Customer Rating: 5
Summary: Execellent device-driver reference
Comment: This book's #1 audience is the Unix device-driver writer who wants to understand how Linux's kernel, interfaces, and data structures work. #2 comes the journeyman software engineer who wants to look "below" the application layer, toward creating more efficient programs.
There are clear, *working* examples throughout the book. Each chapter builds on the previous one. Complex issues come late in the book, after the reader has had time to build a framework for understanding.