第1章 引论 1
1.1 操作系统的相关概念 1
1.1.1 计算机系统 1
1.1.2 操作系统 3
1.2 UNIX简介 7
1.2.1 UNIX的发展简史 7
1.2.2 UNIX的特点和性能 9
1.2.3 UNIX的结构 10
1.3 UNIX的优缺点 12
1.3.1 UNIX的优点 12
1.3.2 UNIX的缺点 13
1.4 UNIX使用入门 13
1.4.1 UNIX的启动过程 13
1.4.2 登录与退出 16
1.4.3 常见命令 18
习题 25
第2章 UNIX中的进程 26
2.1 进程的引入 26
2.1.1 引入原因 26
2.1.2 进程的定义 27
2.2 UNIX进程 28
2.2.1 映像的概念 29
2.2.2 proc结构 30
2.2.3 user结构 32
2.2.4 共享正文段 35
2.3 进程的存储管理 36
2.3.1 进程在核心态下的虚拟地址空间 36
2.3.2 进程在用户态下的虚拟地址空间 37
2.3.3 内存中进程映像的分布 38
2.3.4 虚—实地址映射 38
2.4 进程调度管理 42
2.4.1 调度状态 42
2.4.2 UNIX进程调度 45
2.4.3 进程状态列表 47
2.5 进程的创建 49
2.5.1 进程树 49
2.5.2 创建新进程 50
2.5.3 初始化进程 54
2.5.4 进程的同步与终止 57
习题 59
第3章 文件系统 61
3.1 概述 61
3.2 UNIX文件系统的组织 65
3.2.1 文件系统框架 65
3.2.2 目录 69
3.2.3 文件和目录的命名 72
3.2.4 文件和目录的显示 72
3.3 文件的内存映像 74
3.3.1 索引节点 74
3.3.2 多重索引结构 75
3.3.3 UNIX打开文件机构 75
3.4 文件系统的实现 78
3.4.1 文件系统的磁盘管理 78
3.4.2 文件链接 80
3.5 文件的使用 84
3.5.1 文件的创建 84
3.5.2 文件的打开/关闭 86
3.5.3 文件的读写 88
3.5.4 文件的随机存取 90
3.6 管道通信 91
3.6.1 管道通信机制的引入 91
3.6.2 系统调用pipe 91
3.6.3 pipe文件的读写操作 93
3.6.4 举例 94
习题 97
第4章 vi和Shell 99
4.1 vi编辑器 99
4.1.1 vi操作模式 99
4.1.2 基本编辑命令 102
4.1.3 vi小结 108
4.2 Shell简介 109
4.2.1 Shell家族 109
4.2.2 常用Shell 110
4.2.3 Shell间的转换 111
4.3 Shell简单命令 111
4.3.1 基本命令 111
4.3.2 目录操作命令 117
4.3.3 文件操作命令 122
4.3.4 操作权限设置 129
4.3.5 命令分隔符 131
4.3.6 输入/输出重定向 133
习题 135
第5章 B Shell 137
5.1 B Shell程序概述 137
5.1.1 程序文件 137
5.1.2 程序的执行 138
5.1.3 程序的调试 138
5.2 B Shell变量 141
5.2.1 变量的命名与赋值 141
5.2.2 变量分类 142
5.2.3 B Shell特殊字符 150
5.2.4 变量的替换 151
5.3 输入与输出 152
5.3.1 标准输入/输出 152
5.3.2 输入/输出命令 152
5.4 控制结构 161
5.4.1 测试语句 161
5.4.2 计算表达式值 163
5.4.3 条件判断 165
5.4.4 循环结构 169
习题 174
第6章 高级B Shell编程 177
6.1 B Shell函数 177
6.1.1 函数的定义 177
6.1.2 函数的使用 178
6.1.3 函数的编辑 182
6.1.4 函数应用举例 183
6.2 选项和参数 191
6.2.1 case处理选项和参数 191
6.2.2 getopts处理选项和参数 192
6.3 综合应用 195
6.3.1 个性化环境设置 195
6.3.2 流控制语句的应用 197
6.3.3 一个监视系统用户的程序 203
6.3.4 Shell解释程序的分析与设计 204
习题 208
第7章 C Shell 209
7.1 Csh的启动与退出 209
7.1.1 C Shell的启动 209
7.1.2 C Shell的退出 210
7.2 C Shell变量 210
7.2.1 环境变量 210
7.2.2 用户定义变量 213
7.2.3 全局变量和局部变量 215
7.3 命令查询和别名 217
7.3.1 历史命令 217
7.3.2 别名 222
7.4 C Shell程序 223
7.4.1 C Shell程序结构 223
7.4.2 数值型数据处理 224
7.4.3 分支结构 226
7.4.4 循环结构 229
习题 231
第8章 远程通信 232
8.1 概述 232
8.1.1 finger命令 232
8.1.2 网络、主机和路由参数的设置 232
8.2 用户终端间的通信 234
8.2.1 write命令 235
8.2.2 talk命令 235
8.2.3 wall命令 236
8.2.4 mesg命令 236
8.3 电子邮件 236
8.3.1 mail邮件系统 236
8.3.2 pine电子邮件 243
8.4 ftp 246
8.4.1 ftp命令 247
8.4.2 ftp使用实例 249
8.5 telnet 251
8.5.1 telnet命令 251
8.5.2 telnet使用实例 252
习题 253
参考文献 255