Linux Device Drivers, 3rd Edition

Linux Device Drivers, 3rd Edition

Covers writing device drivers for the Linux system, how the Linux kernel works and how to adapt its workings to your needs or interests. Updated for the 2.6.10 kernel.

Tag(s): GNU/Linux

Publication date: 17 Feb 2005

ISBN-10: 0596005903

ISBN-13: 9780596005900

Paperback: 640 pages

Views: 23,421

Type: N/A

Publisher: O’Reilly Media, Inc.

License: Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic

Post time: 17 Jun 2005 10:31:58

Linux Device Drivers, 3rd Edition

Linux Device Drivers, 3rd Edition Covers writing device drivers for the Linux system, how the Linux kernel works and how to adapt its workings to your needs or interests. Updated for the 2.6.10 kernel.
Tag(s): GNU/Linux
Publication date: 17 Feb 2005
ISBN-10: 0596005903
ISBN-13: 9780596005900
Paperback: 640 pages
Views: 23,421
Document Type: N/A
Publisher: O’Reilly Media, Inc.
License: Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic
Post time: 17 Jun 2005 10:31:58
Summary/Excerpts of (and not a substitute for) the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Generic:
You are free to:

Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material

The licensor cannot revoke these freedoms as long as you follow the license terms.

Click here to read the full license.
:santagrin: This book was suggested by zero0w

Book excerpts:

This is the third edition of Linux Device Drivers. It is, on the surface, a book about writing device drivers for the Linux system. That is a worthy goal, of course; the flow of new hardware products is not likely to slow down anytime soon, and somebody is going to have to make all those new gadgets work with Linux. But this book is also about how the Linux kernel works and how to adapt its workings to your needs or interests. Linux is an open system; and this book should make it more open and accessible to a larger community of developers.

The kernel has changed greatly since this book was first published, with this edition covers the 2.6.10 kernel. The discussion of backward compatibility with previous kernel versions has been omitted. The changes from 2.4 are simply too large, and the 2.4 interface remains well documented in the freely available second edition.

This edition contains quite a bit of new material relevant to the 2.6 kernel. The discussion of locking and concurrency has been expanded and moved into its own chapter. The Linux device model, which is new in 2.6, is covered in detail. There are new chapters on the USB bus and the serial driver subsystem; the chapter on PCI has also been enhanced. While the organization of the rest of the book resembles that of the earlier editions, every chapter has been thoroughly updated.

Intended Audience:

This book should be an interesting source of information both for people who want to experiment with their computer and for technical programmers who face the need to deal with the inner levels of a Linux box. Note that 'a Linux box' is a wider concept than 'a PC running Linux,' as many platforms are supported by our operating system, and kernel programming is by no means bound to a specific platform. This book should be useful as a starting point for people who want to become kernel hackers but don?t know where to start.

On the technical side, this text should offer a hands-on approach to understanding the kernel internals and some of the design choices made by the Linux developers. Although the main, official target of the book is teaching how to write device drivers, the material should give an interesting overview of the kernel implementation as well.

In order to be able to use this book, you need to be confident with C programming. Some Unix expertise is needed as well, as this books often refer to Unix semantics about system calls, commands, and pipelines.

At the hardware level, no previous expertise is required to understand the material in this book, as long as the general concepts are clear in advance. The text isn?t based on specific PC hardware, and all the needed information were provided when specific hardware was referred.

Reviews:

Amazon.com
:| "It was all pretty, and the suggested material inside also led me further down learning lane. But, the book itself was not very helpful to me."

:) "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."

:) "I used this book to write a device driver for my computer engineering senior project and found it to be very helpfull, but it could have been better. "

:( "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."
 




About The Author(s)


Greg is a Fellow at the Linux Foundation and is responsible for the Linux kernel stable releases. He is also the maintainer of a variety of different kernel subsystems (USB, char/misc, staging, etc.) and has written a few books about Linux kernel development.

Greg Kroah-Hartman

Greg is a Fellow at the Linux Foundation and is responsible for the Linux kernel stable releases. He is also the maintainer of a variety of different kernel subsystems (USB, char/misc, staging, etc.) and has written a few books about Linux kernel development.


No information is available for this author.

Alessandro Rubini

No information is available for this author.


Book Categories
Sponsors
Icons8, a free icon pack