资源简介
Linux Device Driver (3edtion)原版
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
,ldr3TOC.fm.4587 Page v Thursday, January 20, 2005 9:30 AMvi | Table of Contents
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
代码片段和文件信息
- 上一篇:SQLPrompt.zip
- 下一篇:Oracle9i PL_SQL程序设计
相关资源
- Web Penetration Testing with Kali Linux 3rd Ed
- 32位linux下安装oracle11g所需软件包
-
Windows环境EPM安装和Linux环境Essba
se安 - mysql linux版安装包
- jdk-11.0.7_linux-x64_bin.tar.gz
- 跟老男孩学Linux运维:MySQL入门与提高
- postgresql-10.5-1-linux-x64.run
- centos7离线安装oracle12c
- linux离线安装oracle所有依赖包
- linux下mysql安装文件32位
- Linux环境下Qt4图形界面与MySQL编程_13
- 超级详细的Linux Oracle Ecology安装部署说
- MySQL-server-5.5.52-1.linux2.6.x86_64.rpm
- MySQL-client-5.5.48-1.linux2.6.i386.rpm
- MySQL-server-5.0.22-0.i386.rpm
- MySQL-client-5.5.54-1.linux2.6.x86_64.rpm
- j2re-1_3_1_19-linux-i586.bin
- linux安装oracle11的所有依赖包
- 嵌入式Linux之我行系列
- mysql-5.6.14.tar.gz linux安装包
- MySQL5.5.48安装软件Linux版本
- navicatLinux64绿色版
- CIS 系统基线
- mysql-5.5.57.tar.gz linux安装包
- MySQL5.5rpm安装包
- ogg112103_ggs for windows and linux
- 树莓派3-jdk1.8安装包
- MySQL-server-and-client-5.5.48-1.linux2.6.x86_
- Linux环境下Qt4图形界面与MySQL编程_13
- p6880880_112000_Linux-x8-64.zip
评论
共有 条评论