第一章 引论 1
第一节 UNIX系统概论 1
1.1.1 UNIX系统的发展概况 1
1.1.2 UNIX系统的体系结构 2
1.1.3 UNIX系统的特点 3
第二节 UNIX系统基本概念 4
1.2.1 文件和文件系统 4
1.2.2 进程和进程通信 10
第三节 系统调用 14
1.3.1 系统调用概述 14
1.3.2 系统调用的使用 14
第二章 文件基本操作 18
第一节 文件的创建与删除 18
2.1.1 creat系统调用 18
2.1.2 unlink系统调用 20
2.1.3 用creat系统调用实现互斥访问 22
第二节 文件的打开与关闭 23
2.2.1 open系统调用 24
2.2.2 close系统调用 25
2.2.3 应用实例 26
第三节 文件的读/写操作 27
2.3.1 read系统调用 28
2.3.2 write系统调用 28
2.3.3 实例设计 28
第四节 文件的随机存取 31
2.4.1 lseek系统调用 31
2.4.2 lseek应用实例 31
第五节 综合应用实例 34
3.1.1 文件保护 42
第一节 文件的保护与控制 42
第三章 文件高级操作 42
3.1.2 文件控制 47
第二节 目录文件管理 60
3.2.1 目录的创建和删除——mkdir和rmdir系统调用 61
3.2.2 目录的改变和链接——chdir、chroot和link系统调用 64
3.2.3 目录的读取——getdents系统调用 67
第三节 文件信息查询 70
3.3.1 文件状态信息的获取——stat与fstat系统调用 71
3.3.2 文件系统状态信息的获取 73
第四节 综合应用实例 81
3.4.1 文件服务实用工具(fserver)的设计 82
3.4.2 UNIX中误删文件的恢复 90
第一节 预备知识 94
4.1.1 设备及设备文件 94
第四章 设备文件操作 94
4.1.2 主、从设备号 95
4.1.3 设备文件操作——mknod和ioctl系统调用 95
第二节 终端设备文件操作 98
4.2.1 终端设备文件基本操作 98
4.2.2 终端设备文件控制操作 100
第三节 盘设备文件操作 105
4.3.1 盘设备文件 106
4.3.2 盘设备文件操作 108
第五章 进程控制 120
第一节 进程控制 120
5.1.1 fork系统调用 120
5.1.2 exec系统调用 126
5.1.3 exit、wait和nice系统调用 132
第二节 进程标识号及其用户标识号管理 137
5.2.1 进程的用户标识号管理 138
5.2.2 进程标识号管理 140
第三节 综合应用实例 142
第六章 进程基本通信 151
第一节 信号机构 151
6.1.1 signal系统调用 151
6.1.2 pause、kill系统调用 156
6.1.3 信号管理系统调用 159
第二节 跟踪机构 165
6.2.1 ptrace系统调用 166
6.2.2 ptrace系统调用实例设计 167
第三节 管道通信 168
6.3.1 dup系统调用 169
6.3.2 管道文件操作 170
6.3.3 管道通信应用实例 175
第七章 进程高级通信机制 188
第一节 预备知识 188
第二节 消息通信 189
7.2.1 消息通信系统调用 190
7.2.2 消息通信应用实例 193
第三节 共享内存段 199
7.3.1 共享内存段系统调用 200
7.3.2 共享内存段应用实例 202
第四节 信号量 206
7.4.1 信号量系统调用 207
7.4.2 信号量应用实例 209
第五节 综合应用实例 214
第八章 STREAMS机制 229
第一节 STREAMS概述 229
8.1.1 STREAMS机制的产生 229
8.1.2 STREAMS的特征与结构 229
8.1.3 STREAMS的应用 231
8.2.1 流的建立和关闭 232
第二节 流基本操作 232
8.2.2 流的读/写 235
第三节 流的高级操作 237
8.3.1 流组操作 237
8.3.2 多路流操作 242
8.3.3 消息处理 249
第九章 系统管理和其它 259
第一节 时间管理 259
9.1.1 系统时间管理——time和stime系统调用 259
9.1.2 用户时间管理——times系统调用 262
9.1.3 设置文件访问、修改时间及进程报警时钟——utime和alarm系统调用 264
第二节 文件系统管理 266
9.2.1 文件系统的操作——mount、umount和sync系统调用 266
第三节 动态存贮分配和存贮空间的锁定 270
9.3.1 动态存贮分配——brk和sbrk系统调用 270
9.2.2 文件界限控制 270
9.3.2 存贮空间的锁定——plock系统调用 274
第四节 系统和用户信息统计 274
9.4.1 系统统计信息——acct系统调用 275
9.4.2 直方图的实现——profile系统调用 275
第五节 其它系统管理操作 276
9.5.1 uadmin系统调用 276
9.5.2 uname系统调用 277
9.5.3 sysi86系统调用 277
第十章 设计实例 280
第一节 文件查寻命令(find)的设计 280
第二节 假脱机打印系统设计 298
附录A SVR4.0主要系统调用列表 322
附录B SVR4.0 ioctl控制命令 343
附录C UNIX System V系统调用错误号 348