Linux Device Drivers
(Sprache: Englisch)
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...
Leider schon ausverkauft
versandkostenfrei
Buch (Kartoniert)
32.00 €
Produktdetails
Produktinformationen zu „Linux Device Drivers “
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.
Klappentext zu „Linux Device Drivers “
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 Cand 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
... mehr
multiprocessing (SMP) systems - Memory management and DMA - Interrupts - Portability issues - Peripheral Component Interconnect (PCI).
... weniger
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)sing (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 driver
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)sing (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 driver
Inhaltsverzeichnis zu „Linux Device Drivers “
Preface 1. An Introduction to Device Drivers; The Role of the Device Driver Splitting the Kernel; Classes of Devices and Modules Security Issues; Version Numbering; License Terms; Joining the Kernel Development Community Overview of the Book; 2. Building and Running Modules; Setting Up Your Test System; The Hello World Module; Kernel Modules Versus Applications; Compiling and Loading The Kernel Symbol Table; Preliminaries; Initialization and Shutdown; Module Parameters; Doing It in User Space; Quick Reference; 3. Char Drivers; The Design of scull; Major and Minor Numbers; Some Important Data Structures; Char Device Registration open and release; scull's Memory Usage; read and write Playing with the New Devices; Quick Reference; 4. Debugging Techniques; Debugging Support in the Kernel; Debugging by Printing Debugging by Querying; Debugging by Watching; Debugging System Faults; Debuggers and Related Tools; 5. Concurrency and Race Conditions; Pitfalls in scull; Concurrency and Its Management Semaphores and Mutexes; Completions; Spinlocks; Locking Traps Alternatives to Locking; Quick Reference; 6. Advanced Char Driver Operations ioctl Blocking I/O; poll and select Asynchronous Notification; Seeking a Device; Access Control on a Device File Quick Reference; 7. Time, Delays, and Deferred Work; Measuring Time Lapses; Knowing the Current Time Delaying Execution Kernel Timers Tasklets; Workqueues; Quick Reference 8. Allocating Memory; The Real Story of kmalloc; Lookaside Caches get_free_page and Friends; vmalloc and Friends; Per-CPU Variables; Obtaining Large Buffers; Quick Reference; 9. Communicating with Hardware; I/O Ports and I/O Memory; Using I/O Ports; An I/O Port Example; Using I/O Memory; Quick Reference 10. Interrupt Handling; Preparing the Parallel Port; Installing an Interrupt Handler; Implementing a Handler; Top and Bottom Halves; Interrupt Sharing; Interrupt-Driven I/O; Quick Reference; 11. Data Types in the Kernel; Use of Standard C Types Assigning an Explicit
... mehr
Size to Data Items; Interface-Specific Types Other Portability Issues; Linked Lists; Quick Reference 12. PCI Drivers; The PCI Interface A Look Back: ISA PC/104 and PC/104+; Other PC Buses; SBus NuBus; External Buses Quick Reference; 13. USB Drivers; USB Device Basics; USB and Sysfs USB Urbs; Writing a USB Driver; USB Transfers Without Urbs Quick Reference; 14. The Linux Device Model; Kobjects, Ksets, and Subsystems; Low-Level Sysfs Operations; Hotplug Event Generation Buses, Devices, and Drivers; Classes; Putting It All Together Hotplug; Dealing with Firmware; Quick Reference; 15. Memory Mapping and DMA Memory Management in Linux; The mmap Device Operation; Performing Direct I/O; Direct Memory Access Quick Reference; 16. Block Drivers; Registration; The Block Device Operations; Request Processing; Some Other Details; Quick Reference; 17. Network Drivers; How snull Is Designed Connecting to the Kernel; The net_device Structure in Detail Opening and Closing; Packet Transmission; Packet Reception The Interrupt Handler; Receive Interrupt Mitigation; Changes in Link State; The Socket Buffers; MAC Address Resolution; Custom ioctl Commands; Statistical Information; Multicast; A Few Other Details; Quick Reference; 18. TTY Drivers; A Small TTY Driver tty_driver Function Pointers; TTY Line Settings; ioctls proc and sysfs Handling of TTY Devices; The tty_driver Structure in Detail; The tty_operations Structure in Detail; The tty_struct Structure in Detail; Quick Reference; Bibliography; Index
... weniger
Bibliographische Angaben
- Autoren: Alessandro Rubini , Jonathan Corbet
- 2005, 2nd ed., 615 Seiten, mit Abbildungen, Maße: 17,3 x 23,5 cm, Kartoniert (TB), Englisch
- Verlag: O'Reilly Associates
- ISBN-10:
- ISBN-13: 1369200000821
Sprache:
Englisch
Rezension zu „Linux Device Drivers “
"Dieses praktische Buch ist für jeden, der unter dem Betriebssystem Linux Geräte zum Laufen bringen will oder muss und bisher wenig Ahnung über das Schreiben von Gerätetreibern besitzt, sehr hilfreich. Ein Pluspunkt für die zweite Auflage dieses Buches ist es, dass es auf der Kernelversion 2.4 beruht." -- http://www.entwickler.com, 06/2003, Josef Handel
Kommentar zu "Linux Device Drivers"
0 Gebrauchte Artikel zu „Linux Device Drivers“
Zustand | Preis | Porto | Zahlung | Verkäufer | Rating |
---|
Schreiben Sie einen Kommentar zu "Linux Device Drivers".
Kommentar verfassen