图书介绍

Linux设备驱动程序 第3版pdf电子书版本下载

Linux设备驱动程序 第3版
  • (美)科比特(Corbet,J.),(美)鲁宾尼(Rubini,A.),(美)哈特曼(Hartman,G.K.)著 著
  • 出版社: 南京:东南大学出版社
  • ISBN:7810898531
  • 出版时间:2005
  • 标注页数:615页
  • 文件大小:101MB
  • 文件页数:40098527页
  • 主题词:Linux操作系统-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

Linux设备驱动程序 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.An Introduction to Device Drivers 1

The Role of the Device Driver 2

Splitting the Kernel 4

Classes of Devices and Modules 5

Security Issues 8

Version Numbering 10

License Terms 11

Joining the Kernel Development Community 12

Overview of the Book 12

2.Building and Running Modules 15

Setting Up Your Test System 15

The Hello World Module 16

Kernel Modules Versus Applications 18

Compiling and Loading 22

The Kernel Symbol Table 28

Preliminaries 30

Initialization and Shutdown 31

Module Parameters 35

Doing It in User Space 37

Quick Reference 39

3.Char Drivers 42

The Design of scull 42

Major and Minor Numbers 43

Some Important Data Structures 49

Char Device Registration 55

open and release 58

scull’s Memory Usage 60

read and write 63

Playing with the New Devices 70

Quick Reference 70

4.Debugging Techniques 73

Debugging Support in the Kernel 73

Debugging by Printing 75

Debugging by Querying 82

Debugging by Watching 91

Debugging System Faults 93

Debuggers and Related Tools 99

5.Concurrency and Race Conditions 106

Pitfalls in scull 107

Concurrency and Its Management 107

Semaphores and Mutexes 109

Completions 114

Spinlocks 116

Locking Traps 121

Alternatives to Locking 123

Quick Reference 130

6.Advanced Char Driver Operations 135

ioctl 135

Blocking I/O 147

poll and select 163

Asynchronous Notification 169

Seeking a Device 171

Access Control on a Device File 173

Quick Reference 179

7.Time,Delays,and Deferred Work 183

Measuring Time Lapses 183

Knowing the Current Time 188

Delaying Execution 190

Kernel Timers 196

Tasklets 202

Workqueues 205

Quick Reference 208

8.Allocating Memory 213

The Real Story of kmalloc 213

Lookaside Caches 217

get_free_page and Friends 221

vmalloc and Friends 224

Per-CPU Variables 228

Obtaining Large Buffers 230

Quick Reference 231

9.Communicating with Hardware 235

I/O Ports and I/O Memory 235

Using I/O Ports 239

An I/O Port Example 245

Using I/O Memory 248

Quick Reference 255

10.Interrupt Handling 258

Preparing the Parallel Port 259

Installing an Interrupt Handler 259

Implementing a Handler 269

Top and Bottom Halves 275

Interrupt Sharing 278

Interrupt-Driven I/O 281

Quick Reference 286

11.Data Types in the Kernel 288

Use of Standard C Types 288

Assigning an Explicit Size to Data Items 290

Interface-Specific Types 291

Other Portability Issues 292

Linked Lists 295

Quick Reference 299

12.PCIDrivers 302

The PCI Interface 302

A Look Back:ISA 319

PC/104 and PC/104+ 322

Other PC Buses 322

SBus 323

NuBus 324

External Buses 325

Quick Reference 325

13.USB Drivers 327

USB Device Basics 328

USB and Sysfs 333

USB Urbs 335

Writing a USB Driver 346

USB Transfers Without Urbs 356

Quick Reference 360

14.The Linux Device Model 362

Kobjects,Ksets,and Subsystems 364

Low-Level Sysfs Operations 371

Hotplug Event Generation 375

Buses,Devices,and Drivers 377

Classes 387

Putting It All Together 391

Hotplug 397

Dealing with Firmware 405

Quick Reference 407

15.Memory Mapping and DMA 412

Memory Management in Linux 412

The mmap Device Operation 422

Performing Direct I/O 435

Direct Memory Access 440

Quick Reference 459

16.Block Drivers 464

Registration 465

The Block Device Operations 471

Request Processing 474

Some Other Details 491

Quick Reference 494

17.Network Drivers 497

How snull Is Designed 498

Connecting to the Kernel 502

The net_device Structure in Detail 506

Opening and Closing 515

Packet Transmission 516

Packet Reception 521

The Interrupt Handler 523

Receive Interrupt Mitigation 525

Changes in Link State 528

The Socket Buffers 528

MAC Address Resolution 532

Custom ioctl Commands 535

Statistical Information 536

Multicast 537

A Few Other Details 540

Quick Reference 542

18.TTY Drivers 546

A Small TTY Driver 548

tty_driver Function Pointers 553

TTY Line Settings 560

ioctls 564

proc and sysfs Handling of TTY Devices 566

The tty_driver Structure in Detail 567

The tty_operations Structure in Detail 569

The tty_struct Structure in Detail 571

Quick Reference 573

Bibliography 575

Index 579

精品推荐