作者: [美]科波特(Corbet J.)
出版社: 中国电力出版社
出版年: 2006年01月01日
ISBN: 9787508338637
~~滚到底部有网盘下载链接~~
内容简介
《LINUX设备驱动程序(第3版)》已针对Linux内核的2610版本彻底更新过了。内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户空间交互,以及标准总线上的多设备管理等等。要阅读并理解本书,您不必首先成为内核黑客;只要您理解C语言并具有Unix系统调用的一些背景知识即可。您将学到如何为字符设备、块设备和网络接口编写驱动程序。为此,《LINUX设备驱动程序(第3版)》提供了完整的示例程序,您不需要特殊的硬件即可编译和运行这些示例程序。《LINUX设备驱动程序(第3版)》还在单独的章节中讲述了PCI、USB和tty(终端)子系统。对期望了解操作系统内部工作原理的读者来讲,《LINUX设备驱动程序(第3版)》也深入阐述了地址空间、异步事件以及I/O等方面的内容。
目录
前言
第一章 设备驱动程序简介
设备驱动程序的作用
内核功能划分
设备和模块的分类
安全问题
版本编号
许可证条款
加入内核开发社团
本书概要
第二章 构造和运行模块
设置测试系统
Hello world模块
核心模块与应用程序的对比
编译和装载
内核符号表
预备知识
初始化和关闭
模块参数
在用户空间编写驱动程序
快速参考
第三章 字符设备驱动程序
scull的设计
主设备号和次设备号
一些重要的数据结构
字符设备的注册
open和release
scull的内存使用
read和write
试试新设备
快速参考
第四章 调试技术
内核中的调试支持
通过打印调试
通过查询调试
通过监视调试
调试系统故障
调试器和相关工具
第五章 并发和竞态
scull的缺陷
并发及其管理
信号量和互斥体
completiOn
自旋锁
锁陷阱
除了锁之外的办法
快速参考
第六章 高级字符驱动程序操作
ioctl
阻塞型I/O
poll和select
异步通知
定位设备
设备文件的访问控制
快速参考
第七章 时间、延迟及延缓操作
度量时间差
获取当前时间
延迟执行
内核定时器
tasklet
工作队列
快速参考
第八章 分配内存
kmalloc函数的内幕
后备高速缓存
get—free—page和相关函数
vmalloc及其辅助函数
per-CPU变量
获取大的缓冲区
快速参考
第一章 设备驱动程序简介
设备驱动程序的作用
内核功能划分
设备和模块的分类
安全问题
版本编号
许可证条款
加入内核开发社团
本书概要
第二章 构造和运行模块
设置测试系统
Hello world模块
核心模块与应用程序的对比
编译和装载
内核符号表
预备知识
初始化和关闭
模块参数
在用户空间编写驱动程序
快速参考
第三章 字符设备驱动程序
scull的设计
主设备号和次设备号
一些重要的数据结构
字符设备的注册
open和release
scull的内存使用
read和write
试试新设备
快速参考
第四章 调试技术
内核中的调试支持
通过打印调试
通过查询调试
通过监视调试
调试系统故障
调试器和相关工具
第五章 并发和竞态
scull的缺陷
并发及其管理
信号量和互斥体
completiOn
自旋锁
锁陷阱
除了锁之外的办法
快速参考
第六章 高级字符驱动程序操作
ioctl
阻塞型I/O
poll和select
异步通知
定位设备
设备文件的访问控制
快速参考
第七章 时间、延迟及延缓操作
度量时间差
获取当前时间
延迟执行
内核定时器
tasklet
工作队列
快速参考
第八章 分配内存
kmalloc函数的内幕
后备高速缓存
get—free—page和相关函数
vmalloc及其辅助函数
per-CPU变量
获取大的缓冲区
快速参考