图书介绍
Linux设备驱动程序 第3版PDF|Epub|txt|kindle电子书版本网盘下载
![Linux设备驱动程序 第3版](https://www.shukui.net/cover/37/31800914.jpg)
- (美)科比特(Corbet,J.),(美)鲁宾尼(Rubini,A.),(美)哈特曼(Hartman,G.K.)著 著
- 出版社: 南京:东南大学出版社
- ISBN:7810898531
- 出版时间:2005
- 标注页数:615页
- 文件大小:101MB
- 文件页数:40098527页
- 主题词:Linux操作系统-英文
PDF下载
下载说明
Linux设备驱动程序 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.An Introduction to Device Drivers1
The Role of the Device Driver2
Splitting the Kernel4
Classes of Devices and Modules5
Security Issues8
Version Numbering10
License Terms11
Joining the Kernel Development Community12
Overview of the Book12
2.Building and Running Modules15
Setting Up Your Test System15
The Hello World Module16
Kernel Modules Versus Applications18
Compiling and Loading22
The Kernel Symbol Table28
Preliminaries30
Initialization and Shutdown31
Module Parameters35
Doing It in User Space37
Quick Reference39
3.Char Drivers42
The Design of scull42
Major and Minor Numbers43
Some Important Data Structures49
Char Device Registration55
open and release58
scull’s Memory Usage60
read and write63
Playing with the New Devices70
Quick Reference70
4.Debugging Techniques73
Debugging Support in the Kernel73
Debugging by Printing75
Debugging by Querying82
Debugging by Watching91
Debugging System Faults93
Debuggers and Related Tools99
5.Concurrency and Race Conditions106
Pitfalls in scull107
Concurrency and Its Management107
Semaphores and Mutexes109
Completions114
Spinlocks116
Locking Traps121
Alternatives to Locking123
Quick Reference130
6.Advanced Char Driver Operations135
ioctl135
Blocking I/O147
poll and select163
Asynchronous Notification169
Seeking a Device171
Access Control on a Device File173
Quick Reference179
7.Time,Delays,and Deferred Work183
Measuring Time Lapses183
Knowing the Current Time188
Delaying Execution190
Kernel Timers196
Tasklets202
Workqueues205
Quick Reference208
8.Allocating Memory213
The Real Story of kmalloc213
Lookaside Caches217
get_free_page and Friends221
vmalloc and Friends224
Per-CPU Variables228
Obtaining Large Buffers230
Quick Reference231
9.Communicating with Hardware235
I/O Ports and I/O Memory235
Using I/O Ports239
An I/O Port Example245
Using I/O Memory248
Quick Reference255
10.Interrupt Handling258
Preparing the Parallel Port259
Installing an Interrupt Handler259
Implementing a Handler269
Top and Bottom Halves275
Interrupt Sharing278
Interrupt-Driven I/O281
Quick Reference286
11.Data Types in the Kernel288
Use of Standard C Types288
Assigning an Explicit Size to Data Items290
Interface-Specific Types291
Other Portability Issues292
Linked Lists295
Quick Reference299
12.PCIDrivers302
The PCI Interface302
A Look Back:ISA319
PC/104 and PC/104+322
Other PC Buses322
SBus323
NuBus324
External Buses325
Quick Reference325
13.USB Drivers327
USB Device Basics328
USB and Sysfs333
USB Urbs335
Writing a USB Driver346
USB Transfers Without Urbs356
Quick Reference360
14.The Linux Device Model362
Kobjects,Ksets,and Subsystems364
Low-Level Sysfs Operations371
Hotplug Event Generation375
Buses,Devices,and Drivers377
Classes387
Putting It All Together391
Hotplug397
Dealing with Firmware405
Quick Reference407
15.Memory Mapping and DMA412
Memory Management in Linux412
The mmap Device Operation422
Performing Direct I/O435
Direct Memory Access440
Quick Reference459
16.Block Drivers464
Registration465
The Block Device Operations471
Request Processing474
Some Other Details491
Quick Reference494
17.Network Drivers497
How snull Is Designed498
Connecting to the Kernel502
The net_device Structure in Detail506
Opening and Closing515
Packet Transmission516
Packet Reception521
The Interrupt Handler523
Receive Interrupt Mitigation525
Changes in Link State528
The Socket Buffers528
MAC Address Resolution532
Custom ioctl Commands535
Statistical Information536
Multicast537
A Few Other Details540
Quick Reference542
18.TTY Drivers546
A Small TTY Driver548
tty_driver Function Pointers553
TTY Line Settings560
ioctls564
proc and sysfs Handling of TTY Devices566
The tty_driver Structure in Detail567
The tty_operations Structure in Detail569
The tty_struct Structure in Detail571
Quick Reference573
Bibliography575
Index579