目 录 1
第1章操作系统概述 1
1.1操作系统的发展过程 1
1.1.1手工操作阶段 1
1.1.2早期批处理阶段 2
1.1.3执行系统 3
1.1.4多道程序系统阶段 3
1.2什么是操作系统 4
1.2.1概念 4
1.2.2设置OS的目的 5
1.2.3操作系统的主要功能 5
1.6.3 可维护性 1 5
1.2.4操作系统的服务功能 7
1.3操作系统的结构 8
1.3.1外结构(环境) 8
1.4操作系统的分类 9
1.3.2 内结构(体系结构) 9
1.4.1 多道批处理系统 10
1.4.2分时系统 11
1.4.3实时系统 11
1.4.4网络操作系统 13
1.4.5区别 13
1.5操作系统的特征 13
1.5.1并发 13
1.5.2共享 14
1.5.3长期信息存储 14
1.5.4不确定性 14
1.6操作系统的性能——即如何评价一个操作系统 14
1.6.1效率 14
1.6.2可靠性 15
1.7 当前比较流行的几种微机操作系统 15
1.7.1 当前微机上的主流操作系统 15
1.7.2用户如何选用操作系统 18
1.8 UNIX系统的特点和结构 19
1.8.1外部原因 19
1.8.2内部特点 19
1.8.3结构 20
习题 22
第2章进程管理 23
2.1进程管理的概念 23
2.1.1程序的顺序执行 23
2.1.2程序的并发执行和资源共享 23
2.1.3 程序并发执行的特性 25
2.1.4进程 27
2.1.5 用进程概念说明操作系统的并发性和不确定性 28
2.1.6进程的状态及其变迁 29
2.1.7进程的组成 31
2.1.8 UNIX系统的进程映像 33
2.2.1进程的创建 36
2.2有关进程的操作 36
2.2.2进程终止和父/子进程的同步 39
2.3进程间的相互作用和通信 42
2.3.1同步 42
2.3.2互斥 43
2.3.3进程的临界区和临界资源 44
2.3.4实施临界区互斥的锁操作法 44
2.3.5 信号量与P、V操作 48
2.3.6高级通讯机构 53
2.4中断处理 57
2.4.1 中断及其一般处理过程 57
2.4.2 中断优先级和多重中断 60
2.4.3 中断屏蔽 60
2.4.4 中断在操作系统中的地位 60
2.4.5 UNIX系统对中断和陷入的处理 61
习题 64
3 1.1 CPU 调度的三级实现 67
第3章处理机管理 67
3.1 概述 67
3.1.2进程的执行方式 70
3.1.3 CPU调度的基本方式 70
3.2作业概念 71
3.2.1 作业管理的概念 71
6.6.4文件的读写 1 73
3.2.2作业管理的功能 73
3.3常用调度算法 77
3.3.1 先来先服务FCFS 78
3.3.2最短周期优先SBF 78
3.3.3优先级 80
3.3.4轮转法 80
3.3.5 可变时间片轮转法 82
3.3.6多队列轮转法和多级反馈队列法 82
3.4 UNIX系统中的进程调度 84
6.8.8空闲存储块的管理 1 87
习题 89
4.1.2存储器分配 91
4.1.1 二级存储器及信息传送 91
4.1 引言 91
第4章存储管理 91
4.1.3存储管理的基本任务 92
4.1.4存储空间的地址问题 93
4.1.5用户程序的装入 94
4.1.6存储管理的功能 96
4.1.7内存的扩充技术 96
4.2分区式管理技术 99
4.2.1 固定分区法 99
4.2.2 可变分区法 100
4.2.3硬件支持 103
4.3 可重定位分区分配 103
4.4多道程序对换技术 104
4.5.1 分页管理 105
4.5请求分页存储管理 105
4.5.2请求分页管理 109
4.6段式存储管理 116
4.6.1 分段和分段的地址空间 117
4.6.3 分段共享 118
4.6.2分段管理的实现 118
4.6.4段的动态链接 119
4.7段页式存储管理 122
4.7.1基本思想 122
4.7.2实现过程 122
4.8 UNIX系统的存储管理 124
4.8.1 对换 124
4.8.2请求分页 126
习题 131
5.1.2设备管理的目标和功能 133
5.1.1 设备分类 133
5.1 概述 133
第5章设备管理 133
5.1.3通道技术 134
5.1.4缓冲技术 137
5.2设备分配技术与Spooling系统 138
5.2.1设备分配技术 138
5.2.2 Spooling系统 139
5.3 RK磁盘设备 140
5.4 UNIX系统的设备管理 141
5.4.1 UNIX设备管理的特点 141
5.4.2 与设备驱动有关的接口 142
5.4.3块设备管理中的缓冲技术 142
5.4.4块设备的读写 146
5.4.5字符设备管理 151
习题 153
6.1 概述 154
第6章文件系统 154
6.1.1文件及其分类 154
6.1.2文件系统的功能 155
6.1.3文件系统的用户界面 156
6.1.4文件系统的层次结构 157
6.2文件的组织和存取方法 158
6.2.1 文件的逻辑组织和物理组织 158
6.2.2文件的存取方式 162
6.3 目录结构 162
6.3.1 一级目录结构 163
6.3.2 二级目录结构 163
6.3.3 多级目录结构 164
6.4文件存储空间的管理 166
6.4.1 记住空间分配现状的数据结构 167
6.4.2存储空间分配程序 169
6.5 文件保护 169
6.5.2文件的共享与保护保密 170
6.5.1 文件系统的完整性 170
6.6对文件的主要操作 171
6.6.1 创建文件 172
6.6.2文件的连接与解除连接 172
6.6.3文件的打开和关闭 173
6.7文件系统的执行过程 174
6.8 UNIX文件系统的内部实现 176
6.8.1 i节点 176
6.8.2活动i节点的分配与释放 177
6.8.3 用户打开文件表和系统打开文件表 178
6.8.4目录项和检索目录文件 181
6.8.5文件的索引结构 183
6.8.6文件卷和卷专用块 184
6.8.7空闲i节点的管理 185
6.8.9子文件系统装卸和装配块表 188
6.8.10各主要数据结构之间的联系 190
6.8.11 管道文件(pipe) 191
6.9系统调用的实施举例 195
习题 198
第7章死锁 199
7.1 死锁的基本概念 199
7.1.1什么是死锁 199
7.1.2死锁的表示 200
7.1.3 死锁判定法则 201
7.2死锁的预防 203
7.3死锁的避免 204
7.3.1 资源分配状态RAS 204
7.3.2 系统安全状态 205
7.3.3 死锁避免算法 206
7.3.4对单体资源类的简化算法 207
7.4.1 死锁的检测 208
7.4死锁的检测和清除 208
7.4.2死锁的解除 210
习题 211
第8章 STREAMS(流)机制 212
8.1 STREAMS概述 212
8.1.1 STREAMS机制的产生 212
8.1.2 STREAMS的特征和结构 212
8.1 .3 STREAMS的应用 214
8.2流基本操作 214
8.2.1流的建立和关闭 215
8.2.2流的读/写 216
8.3流的高级操作 217
8.3.1 流组操作 218
8.3.2多路流操作 219
8.3.3消息处理 221
9.1 概述 223
第9章 UNIX系统V的IPC 223
9.2 消息 224
9.2.1系统调用msgget 224
9.2.2 系统调用msgsnd 225
9.2.3 系统调用msgrcv 227
9.2.4系统调用msgctl 229
9.3共享存储区 230
9.3.1 系统调用shmget 230
9.3.2 系统调用shmat 232
9.3.3 系统调用shmctl 234
9.4 信号量 235
9.4.1系统调用semget 235
9.4.2系统调用semop 238
9.4.3 系统调用semctl 242
9.5 总的评价 243
10.1.1 硬件配置 244
第10章 UNIX操作系统的基本应用 244
10.1 UNIX操作系统的安装、启动和关闭 244
10.1.2软件考虑 245
10.1.3安装过程 246
10.1.4增加用户账号 247
10.1.5 启动和关闭系统 248
10.2 UNIX操作系统的基本操作命令 250
10.2.1 文件和目录的命名规则 250
10.2.2 UNIX的输入和输出命令 250
10.2.3 目录管理 251
10.2.4文件管理 253
10.2.5 改变文件及目录的属主和存取权 259
10.2.6屏幕编辑程序Vi 261
10.2.7特殊命令 264
10.3.1 DOS和UNIX共存系统的转换 265
10.3.2 DOS格式的操作命令 265
10.3 UNIX操作系统和DOS操作系统的兼容操作 265
10.3.3 用DOS文件系统 267
第11章UNIX操作系统的系统管理和实用工具程序 269
11.1 UNIX操作系统的系统管理 269
11.1.1 系统管理软件sysadmsh 269
11.1.2数据转储和恢复 270
11.1.3文件系统管理 272
11.1.4设备管理 274
11.1.5进程控制 277
11.2 UNIX操作系统的实用工具程序 279
11.2.1 用户之间相互通讯 279
11.2.2文本处理工具 281
第12章 UNIX操作系统的网络与通讯 284
12.1 本地网络 284
12 1.1 建立一个网络 284
12.1.5网络命令使用 285
12.1.4停止网络 285
12.1.3 测试Micnet网络 285
12.1.2启动网络 285
12.2远程网络 286
12.2.1 UUCP简介 286
12.2.2用调制解调器连接远程UUCP系统 289
12.2.3配置UUCP 289
1 2.2.4使用UUCP 290
12.3标准网络 293
12.3.1 显示网络中各计算机状态 293
12.3.2显示网络中的用户 293
12.3.3通过网络进行通信 295
12.3.4通过网络在另一台主机上注册 296
12.3.5在另一台主机上执行命令 296
12.3.6在不同的计算机之间传送文件 297
12.3.7使用ftp命令传送文件 298
参考文献 301