|
第一章 设备驱动程序简介
设备驱动程序的作用
内核功能划分
设备和模块分类
安全问题
版本编号
许可证条款
加入内核开发社团
本书概要
第二章 构建和运行模块
核心模块与应用程序的对比
编译和装载
内核符号表
初始化和关闭
使用资源
自动和手动配置
在用户空间编写驱动程序
向后兼容性
快速参考
第三章 字符设备驱动程序
scull的设计
主设备号和次设备号
文件操作
file结构
open和release
scull的内存使用
竞态简介
read和write
试试新设备
设备文件系统
向后兼容性
快速参考
第四章 调试技术
通过输出调试
通过查询调试
通过监视调试
调试系统故障
调试程序和相关工具
第五章 增强的字符驱动程序操作
ioctl
阻塞型I/O
poll和select
异步通知
定位设备
设备文件的访问控制
向后兼容性
快速参考
第六章 时间流
内核中的时间间隔
获取当前时间
延迟执行
任务队列
内核定时器
向后兼容性
快速参考
第七章 获取内存
kmalloc函数的内幕
后备高速缓存
get_free_page和相关函数
vmalloc与相关函数
引导时的内存分配
向后兼容性
快速参考
第八章 硬件管理
I/O端口和I/O内存
使用I/O端口
使用数字I/O端口
使用I/O内存
向后兼容性
快速参考
第九章 中断处理
中断的整体控制
准备并口
安装中断处理程序
实现中断处理程序
tasklet和底半部处理
中断共享
中断驱动的I/O
竞态
向后兼容性
快速参考
第十章 合理使用数据类型
使用标准C语言类型
为数据项分配确定的空间大小
接口特定的类型
其他有关移植性的问题
链表
快速参考
第十一章 kmod和高级模块化
按需加载模块
模块间通信
模块中的版本控制
向后兼容性
快速参考
第十二章 装载快设备驱动程序
注册驱动程序
头文件blk.h
请求处理简介
请求处理详解
挂装和卸装是如何工作的
ioctl方法
可移动设备
可分区设备
中断驱动的快设备驱动程序
向后兼容性
快速参考
第十三章mmap和DMA
Linux的内存管理
mmap设备操作
kiobuf接口
直接内存访问和总线主控
向后兼容性
快速参考
第十四章 网络驱动程序
snull的设计
连接到内核
net_device结构的细节
打开和关闭
数据包传输
数据包的接收
中断处理程序
链路状态的改变
套接字缓冲区
MAC地址解析
定制ioctl命令
统计信息
组播
向后兼容性
快速参考
第十五章 外设总线综述
PCI接口
ISA回顾
PC/104和PC/104+
其他的PC总线
SBus
NuBus
外部总线
向后兼容性
快速参考
第十六章 内核源代码的物理布局
引导内核
引导之前
init进程
kernel目录
fs目录
mm目录
net目录
ipc和lib
include和arch
drivers目录
参考文献
词汇表 |
|