| Overview
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)
Editorial ReviewsProduct DescriptionThis practical guide is for anyone who wants to support computer peripherals or develop new hardware to run under the Linux operating system. It shows how to write drivers for a wide range of devices, revealing information previously shared only by word of mouth or in cryptic source code comments. 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. Major changes covered in the second edition include 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. The second edition is centered on Kernel 2.4, but includes information for kernels back to 2.0 where feasible. | Amazon.com ReviewUpdated 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. |
Other Readers Also Read | Top Sellers in This Category | Browse Similar Topics | | | Top Level Categories:Sub-Categories: | | | | |
Reader Reviews From Amazon (Ranked by 'Helpfulness') Average Customer Rating: based on 46 reviews. 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.
| 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. | 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. | I Can do this., 2008-02-16 Reviewer rating: As a newbie it makes driver writing not so scary.
Technical masterpiece yet not over my head. |
Some information above was provided using data from Amazon.com. View at Amazon > |
| |
|
|