Linux Device Drivers: Where the Kernel Meets the Hardware

Передня обкладинка
"O'Reilly Media, Inc.", 7 лют. 2005 р. - 640 стор.

Device drivers literally drive everything you're interested in--disks, monitors, keyboards, modems--everything outside the computer chip and memory. And writing device drivers is one of the few areas of programming for the Linux operating system that calls for unique, Linux-specific knowledge. For years now, programmers have relied on the classic Linux Device Drivers from O'Reilly to master this critical subject. Now in its third edition, this bestselling guide provides all the information you'll need to write drivers for a wide range of devices.Over the years the book has helped countless programmers learn:

  • how to support computer peripherals under the Linux operating system
  • how to develop and write software for new hardware under Linux
  • the basics of Linux operation even if they are not expecting to write a driver
The new edition of Linux Device Drivers is better than ever. The book covers all the significant changes to Version 2.6 of the Linux kernel, which simplifies many activities, and contains subtle new features that can make a driver both more efficient and more flexible. Readers will find new chapters on important types of drivers not covered previously, such as consoles, USB drivers, and more.Best of all, you don't have to be a kernel hacker to understand and enjoy this book. All you need is an understanding of the C programming language and some background in Unix system calls. And for maximum ease-of-use, the book uses full-featured examples that you can compile and run without special hardware.Today Linux holds fast as the most rapidly growing segment of the computer market and continues to win over enthusiastic adherents in many application areas. With this increasing support, Linux is now absolutely mainstream, and viewed as a solid platform for embedded systems. If you're writing device drivers, you'll want this book. In fact, you'll wonder how drivers are ever written without it.
 

Зміст

An Introduction to Device Drivers
1
Building and Running Modules
15
Char Drivers
42
Debugging Techniques
73
Concurrency and Race Conditions
106
Advanced Char Driver Operations
135
Time Delays and Deferred Work
183
Allocating Memory
213
Data Types in the Kernel
288
PCI Drivers
302
USB Drivers
327
The Linux Device Model
362
Memory Mapping and DMA
412
Block Drivers
464
Network Drivers
497
TTY Drivers
546

Communicating with Hardware
235
Interrupt Handling
258
Bibliography
575
Index
579

Інші видання - Показати все

Загальні терміни та фрази

Популярні уривки

Сторінка 50 - ... ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); unsigned long (*get_unmapped_area) (struct file *, unsigned long, unsigned long, unsigned long, unsigned long...
Сторінка ix - Our greatest hope is that our audience will enjoy reading this book as much as we have enjoyed writing it.
Сторінка 615 - When a horse bucks he puts his head down between his legs, arches his back like an angry cat, and springs into the air with all his legs at once, coming down again with a frightful jar, and he sometimes keeps on repeating the performance until he is completely worn out with the excursion. The rider is apt to feel rather worn out too by that time, if he has kept his seat, which is not a very easy matter, especially if the horse is a real scientific bucker, and puts a kind of side action into every...
Сторінка xv - The author would like to thank the many people who have helped to make the book possible. These include colleagues and students in IBM (UK) Ltd, IBM (Regional Office East and Central Europe), and the staff and students of the Centre for Business Systems Analysis of The City University. In particular, John Reed of IBM and John Watt of the University of Aston have contributed...

Бібліографічна інформація