LINUX设备驱动程序(第3版影印版 英文版)

LINUX设备驱动程序(第3版影印版 英文版)
作 者: 乔纳森·科比特 亚历山德罗·鲁比尼 格雷格·K 哈特曼
出版社: 东南大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《LINUX设备驱动程序(第3版影印版 英文版)》作者简介

内容简介

《LINUX设备驱动程序(第3版 影印版 英文版)》的作者均是Linux社区的领导者。Jonathan Corbet虽不是专职的内核代码贡献者,但他是备受关注的LwN.net新闻及信息网站的执行编辑。Alessandro Rubini是一名Linux代码贡献者,也是活跃的意大利Linux社区的灵魂人物。Greg Kroah-Hartman是目前内核中USB、PCI和驱动程序核心子系统的维护者。《LINUX设备驱动程序(第3版 影印版 英文版)》的这个版本已针对Linux内核的2.6.10版本彻底更新过。内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户空间交互,以及标准总线上的多设备管理等等。要阅读并理解《LINUX设备驱动程序(第3版 影印版 英文版)》,您不必首先成为内核黑客;只要您理解c语言并具有unix系统调用的一些背景知识即可。您将学到如何为字符设备、块设备和网络接口编写驱动程序。为此,《LINUX设备驱动程序(第3版 影印版 英文版)》提供了完整的示例程序,您不需要特殊的硬件即可编译和运行这些示例程序。《LINUX设备驱动程序(第3版 影印版 英文版)》还在单独的章节中讲述了PCI、UsB和tty(终端)子系统。对期望了解操作系统内部工作原理的读者来讲,《LINUX设备驱动程序(第3版 影印版 英文版)》也深入阐述了地址空间、异步事件以及I/O等方面的内容。

图书目录

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_flee_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 Size to Data Items

Interface-Specific Types

Other Portability Issues

Linked Lists

Quick Reference

12. PCl Drivers

The PCI Interface

A LookBackl. 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