第0章 导论 1
0.1 谁需要这本书 1
0.2 阅读本书需要哪些背景 1
0.3 本书的组织结构 2
0.4 UNIX系统的发展史 2
0.5 开放式的系统(Open System) 5
0.6 UNIX的核心程序 7
0.7 系统调用的使用 8
0.8 系统调用的执行 8
0.9 系统调用与函数的区别 10
0.10 核心程序的结构 11
0.11 流(STREAMS) 12
1.1 目录与文件 14
第1章 UNIX文件系统 14
1.2 文件的存取权限与属性设定 17
1.3 与文件操作相关的重要指令 21
1.3.1 cat 21
1.3.2 cd 21
1.3.3 chgrp 21
1.3.4 chmod 22
1.3.5 chown 23
1.3.6 comm 23
1.3.7 cmp 23
1.3.8 cp 24
1.3.9 cut 24
1.3.10 diff 25
1.3.11 dircmp 27
1.3.12 find 28
1.3.13 grep 29
1.3.14 ls 30
1.3.15 mkdir 32
1.3.16 mv 32
1.3.17 pr 32
1.3.18 rm 33
1.3.19 sort 33
1.3.20 tail 35
1.3.21 touch 36
1.3.22 tr 36
1.3.23 umask 36
1.3.24 wc 37
第2章 UNIX文件系统的内部结构 38
2.1 文件系统与i节点 38
2.2 一般文件的内部结构 39
第3章 操作文件的系统调用 48
3.1 文件描述字(file descriptor) 48
3.2 open系统调用 49
3.3 close系统调用 50
3.4 read与write系统调用 50
3.5 lseek系统调用 52
3.6 dup系统调用 56
3.7 link系统调用 59
3.8 unlink系统调用 60
3.9 fcntl系统调用 60
3.10 stat与fstat系统调用 62
3.11 access系统调用 68
3.12 chmod系统调用 69
3.13 chown系统调用 69
3.15 mkdir与rmdir系统调用 70
3.14 chdir系统调用 70
3.16 mknod系统调用 71
3.17 mount与umount系统调用 72
第4章 控制终端的系统调用 74
4.1 ioctl系统调用与终端的输入输出 74
4.2 termio结构 76
第5章 进程管理 86
5.1 进程与程序(process and program) 86
5.2 观察进程执行的指令 87
5.3 进程的创建与执行——fork与exec 89
5.4 exec系统调用 94
5.5 进程的优先级 101
5.6 fork与exec使用实例:UNIX的启动流程 102
5.7 进程调度 103
6.2 信号的基本概念 106
第6章 信号处理 106
6.1 何谓信号(signal) 106
6.3 信号类别 107
6.4 信号的处理 109
6.5 处理信号的系统调用 109
6.6 sigset系统调用 114
6.7 kill系统调用 116
6.8 alarm系统调用 117
6.9 pause系统调用 117
6.10 其他有关信号处理的系统调用 119
6.11 UNIX SVR 4新增的信号处理例程(routine) 129
6.12 信号掩码 135
第7章 存储管理 140
7.1 UNIX的存储管理策略 140
7.2 请求调页 141
7.3 锁定主存中的进程 142
7.4 UNIX系统的内存配置 142
7.5 进程的虚拟内存编址 143
7.6 fork与vfork 147
7.7 用户模式与核心程序模式的转换 147
第8章 进程间的通信 149
8.1 背景知识 149
8.2 pipe系统调用 150
8.3 命名管道与mknod系统调用的使用 154
8.4 命名管道的应用之一——客户与服务器 155
8.5 命名管道应用之二——客户、服务器以及非搁置处理 160
第9章 高级进程间通信 166
9.1 IPC对象与消息队列 166
9.2 IPC对象的内容 166
9.3 消息队列(message queue)的使用 167
9.4 msgget系统调用 169
9.5 msgctl系统调用 170
9.6 msgsnd与msgrcv系统调用 170
9.7 消息队列的限制 174
9.8 信号灯与信号 175
9.9 临界区(CRITICAL SECTION) 175
9.10 DIJKSTRA的演算法 176
9.11 UNIX SVR4使用信号灯的方式 178
9.12 操作信号灯的系统调用 179
9.13 共享内存 190
第10章 Linux系统简介 199
10.1 前言 199
10.2 什么是Linux 199
10.3 Linux的特性 199
10.4 Linux的系统需求 200