目录 1
第一章UNIX及其I/O子系统 1
1.1 UNIX操作系统 1
1.2从用户角度看UNIX 5
1.3从程序员角度看UNIX 5
1.4进程控制和调度 10
1.5系统调用 12
第二章UNIX I/O系统 14
2.1文件系统 14
2.2关于文件操作的系统数据结构 17
2.3块缓冲系统 19
2.4设备驱动程序 20
2.5通过系统的I/O请求流 21
2.6驱动程序综述 21
3.1 I/O体系结构 28
第三章I/O硬件和设备驱动程序 28
3.2 I/O设备的特征 31
第四章系统生成 34
4.1核心与驱动程序的接口文件 34
4.2系统配置数据文件 35
4.3名字构成规则 38
4.4配置表文件—conf.c 39
4.5硬件接口文件 44
4.6构造一个新的核心 46
4.7创建设备特殊文件 47
第五章运行时的数据结构 48
5.1虚拟和物理地址 48
5.2标准I/O数据结构 49
5.3地址转换和数据访问 56
5.4驱动程序与调用程序的相互作用 64
5.5驱动程序内的同步化 67
6.1设备的定义 74
第六章驱动程序逻辑举例 74
6.2设备数据结构 76
6.3例1:同步字符输出 77
6.4例2:表中的缓冲字符 79
6.5例3:系统空间缓冲器的DMA输出 83
6.6例4:用户空间的同步DMA 88
6.7同步I/O多路 89
第七章驱动程序的开发方法 92
7.1调试宏 92
7.2跟踪驱动程序动作 97
第八章样板字符驱动程序和样板块驱动程序 106
8.1公共特性 106
8.2样板字符驱动程序—chdriver 107
8.3样板块驱动程序—bkdriver 111
9.2入口点参数、动作和返回 115
9.1 需要的入口点 115
第九章基本设备驱动程序要求 115
第十章专题 122
10.1支持多设备 122
10.2错误重发逻辑 125
10.3磁带驱动程序 127
10.4使用寄存器变量 129
10.5编程注意事项 129
10.6 ASTs 129
10.7 例子:采用AST的异步DMA 131
附录A 执行头文件一览表 138
附录B 核心I/O支持例程 140
附录C 样板字符驱动程序 178
附录D 样板驱动程序 196
附录E XENIX 210
附录F 伯克利UNIX兼容性 217