Linux Device Drivers

Where the Kernel Meets the Hardware

  • Nombre de pages : 614 pages   drapeau anglais
  • Date de parution : 05/09/2005 (3e édition)

Over the years, this bestselling guide has helped countless programmers learn how to support computer peripherals under the Linux operating system, and how to develop new hardware under Linux. Now, with this third edition, it's even more helpful, covering all the significant changes to Version 2.6 of the Linux kernel. Includes full-featured examples that programmers can compile and run without special hardware.

Résumé

This book, a classic entering its third edition, is a must-read for anyone who wants to support computer peripherals under the Linux operating system, wants to run new hardware under Linux, or is simply interested in Linux kernel programming in general. Linux Device Drivers reveals information-heretofore shared only by word of mouth or in cryptic source code comments-on how to write drivers for a wide range of devices.

The authors of the book are leaders in the Linux community. Jonathan Corbet is an occasional kernel contributor and the executive editor of the highly regarded LWN.net news and information site. Alessandro Rubini is a contributor to Linux code and a central figure in the vibrant Italian Linux community. Greg Kroah-Hartman is the current kernel maintainer for the USB, PCI, and driver core subsystems documented in this book.

This new edition has been competely updated for Version 2.6.10 of the Linux kernel. This version of the kernel has rationalized and simplified several ways of doing common tasks, such as plug and play, interaction with user space through the sysfs filesystem, and management of multiple devices on standard buses.

You don't have to be a kernel hacker to understand and enjoy Linux Device Drivers; 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 you can compile and run owithout special hardware. The PCI, USB, and tty (terminal) subsystems each get their own chapter. 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.

This book cover such topics such as:

  • Complete character, block, tty (terminal), and network drivers
  • Driver debugging
  • Interrupts
  • Timing issues
  • Concurrency, locking, and symmetric multiprocessing (SMP)
  • Memory management and DMA
  • Driver model and sysfs
  • Hotpluggable devices
  • Special requirements of common buses, including SCSI, PCI, USB, and IEEE1394 (FireWire)

Sommaire

  • Preface
  • An Introduction to Device Drivers
  • Building and Running Modules
  • Char Drivers
  • Debugging Techniques
  • Concurrency and Race Conditions
  • Advanced Char Driver Operations
  • Time, Delays, and Deferred Work
  • Allocating Memory
  • Communicating with Hardware
  • Interrupt Handling
  • Data Types in the Kernel
  • PCI Drivers
  • USB drivers
  • The Linux Device Model
  • Memory Mapping and DMA
  • Block Drivers
  • Network Drivers
  • TTY Drivers
  • Bibliography
  • Index

Caractéristiques

  • Parution : 05/09/2005
  • Edition : 3e édition
  •  
  • Nb de pages : 614 pages
  • Format : 17,5 x 23,5
  • Couverture : Broché
  • Poids : 917 g
  • Intérieur : Noir et Blanc
  •  

mentions légales | conditions générales de vente | copyright © 2012
(1) livraison gratuite à partir de 49 € en France métropolitaine