出版者的话
专家指导委员会
译者序
前言
第1章 基本概念
1.1 UNIX和Linux览
1.2 UNIX的版本
1.3 使用系统调用
1.4 错误处理
1.5 UNIX标准
1.6 共享头文件
1.7 日期和时间
1.8 关于示例代码
1.9 必要的资源
练习
第2章 基本文件I/O系统调用
2.1 概述
2.2 文件描述符及打开文件描述
2.3 文件权限位符号
2.4 open和creat系统调用
2.5 umask系统调用
2.6 unlink系统调用
2.7 创建临时文件
2.8 文件偏移量和OAPPEND
2.9 write系统调用
2.10 read系统调用
2.11 close系统调用
2.12 用户缓耐I/O
2.13 lseek系统调用
2.14 pread和pwrite系统调用
2.15 readv和writev系统调用
2.16 同步I/O
2.17 truncate和ftruncate系统调用
练习
第3章 高级文件I/O
3.1 概述
3.2 磁盘特殊文件和文件系统
3.3 硬链接和符号链接
3.4 路径名
3.5 访问和显示文件元数据
3.6 目录
3.7 改变信息节点
3.8 其他的文件处理调用
3.9 异步I/O
练习
第4章 终端I/O
4.1 概述r
4.2 从终端读取数据
4.3 会话和进程组(作业)
4.4 ioctl系统调用
4.5 设置终端属性
4.6 其他终端控制系统调用
4.7 终端识别系统调用
4.8 全屏应用程序
4.9 流I/0
4.10 伪终端
练习
第5章 进程和线程
5.1 概述
5.2 环境
5.3 exec系统调用
5.4 实现shell(版本1)
5.5 fork系统调用
5.6 实现shell(版本2)
5.7 ex5.t系统调用和进程终止
5.8 wait、waitpid和waitid系统调用
5.9 信号、终止和等待
5.10 实现shell(版本3)
5.11 获得用户ID和组ID
5.12 设置用户ID和组ID
5.13 获得进程ID
5.14 chroot系统瀚用!避i遵稠
5.15 获得并设置优先级
5.16 进程限制
5.17 线程介绍
5.18 阻塞问题
练习
第6章 基本的进程间通信
6.1 概述
6.2 管道
6.3 dup和dup2系统调用
6.4 个真正的shell
6.5 非重定向管道的双向通信
6.6 用双向管道进行双向通信
练习
第7章 高级进程间通信
7.1 概述
7.2 FIFO或命名管道
7.3 抽象的简单消息接口(SMI)
7.4 System V IPC
7.5 System V 消息队列
7.6 POSIX IPC
7.7 POSIX消息队列
7.8 关于信号量
7.9 System V信号量
7.10 POSIX信号量
7.11 文件锁
7.12 关于共享内存
7.13 System V共享内存
7.14 POSIX共享内存
7.15 性能比较
练习
第8章 网络和套接字
8.1 套接字基础
8.2 套接字地址
8.3 套接字选项
8.4 简单套接字接口
8.5 SMI套接字实现
8.6 无连接套接字
8.7 带外数据
8.8 网络数据库函数
8.9 其他系统调用
8.10 高性能方面的考虑
练习
第9章 信号和定时器
9.1 信号的基本概念
9.2 等待信号
9.3 其他信号系统调用
9.4 不赞成使用的信号系统调用
9.5 实时信号扩展
9.6 全局跳转
9.7 时钟和定时器
练习
附录A 进程属性
附录B Ux:个对标准uNIx函数进行包装的程序
附录C Jtux:标准UNIX函数的Java/Jython接口
附录D 函数字母速查表及其分类表
参考文献