Understanding the Linux Kernel, 3rd Edition
by Daniel P. Bovet; Marco Cesati
Essential Linux Device Drivers
by Sreekrishnan Venkateswaran
Understanding Linux Network Internals
by Christian Benvenuti
Linux Kernel Development, Second Edition
by Robert Love
Linux in a Nutshell, 6th Edition
by Ellen Siever; Stephen Figgins; Robert Love; Arnold Robbins
Linux Device Drivers, 3rd Edition
by Jonathan Corbet; Alessandro Rubini; Greg Kroah-Hartman
Understanding the Linux Kernel, 3rd Edition
by Daniel P. Bovet; Marco Cesati
bash Cookbook, 1st Edition
by Carl Albing; JP Vossen; Cameron Newham
Running Linux, 5th Edition
by Matthias Kalle Dalheimer; Matt Welsh
This book is for anyone who wants to support computer peripherals under the Linux operating system or who wants to develop new hardware and run it under Linux. Linux is the fastest-growing segment of the Unix market, is winning over enthusiastic adherents in many application areas, and is being viewed more and more as a good platform for embedded systems. Linux Device Drivers, already a classic in its second edition, reveals information that heretofore has been shared by word of mouth or in cryptic source code comments, on how to write drivers for a wide range of devices. Version 2.4 of the Linux kernel includes significant changes to device drivers, simplifying many activities, but providing subtle new features that can make a driver both more efficient and more flexible. The second edition of this book thoroughly covers these changes, as well as new processors and buses. You don't have to be a kernel hacker to understand and enjoy this book; all you need is an understanding of C and some background in Unix system calls. You'll learn how to write drivers for character devices, block devices, and network interfaces, guided by full-featured examples that you can compile and run without special hardware. Major changes in the second edition include discussions of symmetric multiprocessing (SMP) and locking, new CPUs, and recently supported buses. For those who are curious about how an operating system does its job, this book provides insights into address spaces, asynchronous events, and I/O. Portability is a major concern in the text. The book is centered on version 2.4, but includes information for kernels back to 2.0 where feasible. Linux Device Driver also shows how to maximize portability among hardware platforms; examples were tested on IA32 (PC) and IA64, PowerPC, SPARC and SPARC64, Alpha, ARM, and MIPS. Contents include:
Building a driver and loading modules
Complete character, block, and network drivers
Debugging a driver
Timing
Handling symmetric multiprocessing (SMP) systems
Memory management and DMA
Interrupts
Portability issues
Peripheral Component Interconnect (PCI)
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 47 Ratings
Possibly still the best book on the subject - 2008-12-13
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Even though the third edition is showing its age - it covers kernel version 2.6.10, which is terribly old - in my opinion this is still the best book on the subject.
Generally, it is not possible to create an up to date tutorial for programming the Linux kernel, since it changes constantly. SO, the key is to introduce the reader to the way of thinking necessary in order to understand and develop for the kernel. I think this book succeeds marvelously.
A good balance of "How" and "Why" - 2009-05-09
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I have read both this book and Sreekrishnan Venkateswaran's Essential Linux Device Drivers, both are excellent, I prefer this one on generic topics such as:
Chapter 5. Concurrency and race conditions
Chapter 8. Allocating memory
Chapter 10. Interrupt Handling
Chapter 14. The Linux Device Model
How ever Sreekrishnan's book covers video and audio driver which are useful for my work.
As for styles, both keep a good balance of "how" and "why", I think the "why" parts are more important, the whole s/w is all about concepts.
Invaluable - 2009-06-30
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
If you have to write a linux kernel module, this book is a lifesaver. The source-code for the samples is available online and saved me a ton of time getting the basics of a device file / ioctls / etc going so I could communicate with my module and focus on value add instead of boilerplate.
Best book for device drivers programming - 2008-09-18
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This book covers in a excelent way all the process for creating device drivers. Its very good for who wants to start to programming and for who already knows how to programming.
Device Drivers - 2008-07-17
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This books must be the top priority for ever developer who wants to develop emebedded systems, based on Linux OS.
Top Level Categories:
Operating Systems
Sub-Categories:
Operating Systems > Linux
Linux > Hardware and Architecture
Linux > Kernel
Linux > Programming
Some information on this page was provided using data from Amazon.com®. View at Amazon >