Book description
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 and is winning over enthusiastic adherents in many application areas. This book reveals information that heretofore has been passed by word-of-mouth or in cryptic source code comments, showing how to write a driver for a wide range of devices. 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. Drivers for character devices, block devices, and network interfaces are all described in step-by-step form and are illustrated with full-featured examples that show driver design issues, which can be executed without special hardware. 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.0, but also covers 1.2.13 and experimental versions up to 2.1.43. You are also told how to maximize portability among hardware platforms. Contents include:
Building a driver and loading modules
Complete character, block, and network drivers
Debugging a driver
Timing
Memory management and DMA
Interrupts
Portability issues
Peripheral Component Interconnect (PCI)
A tour of kernel internals
Publisher resources
Table of contents
-
Linux Device Drivers
- Preface
- 1. An Introduction to the Linux Kernel
- 2. Building and Running Modules
- 3. Char Drivers
- 4. Debugging Techniques
- 5. Enhanced Char Driver Operations
- 6. Flow of Time
- 7. Getting Hold of Memory
- 8. Hardware Management
- 9. Interrupt Handling
- 10. Judicious Use of Data Types
- 11. Kerneld and Advanced Modularization
- 12. Loading Block Drivers
- 13. Mmap and DMA
-
14. Network Drivers
- How snull Is Designed
- Connecting to the Kernel
- The device Structure in Detail
- Opening and Closing
- Packet Transmission
- Packet Reception
- Interrupt-Driven Operation
- The Socket Buffers
- Address Resolution
- Load-Time Configuration
- Run-Time Configuration
- Custom ioctl Commands
- Statistical Information
- Multicasting
- Quick Reference
- 15. Overview of Peripheral Buses
- 16. Physical Layout of the Kernel Source
- 17. Recent Developments
- Index
- Colophon
Product information
- Title: Linux Device Drivers
- Author(s):
- Release date: February 1998
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781565922921
You might also like
book
TCP/IP Guide
The TCP/IP Guide is both an encyclopedic and comprehensible guide to the TCP/IP protocol suite that …
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Container Security
To facilitate scalability and resilience, many organizations now run applications in cloud native environments using containers …
book
Linux Networking Cookbook
Over 40 recipes to help you set up and configure Linux networks About This Book Move …