第一章 绪论 1
1.1 存贮程序式计算机 1
1.1.1 存贮程序式计算机的结构和特点 1
1.1.2 计算机系统结构与操作系统的关系 2
1.2 操作系统的形成和发展 3
1.2.1 早期计算机 3
1.2.2 批处理 4
1.2.3 多道程序设计与多道成批系统 7
1.2.4 分时系统 9
1.2.5 实时系统 10
1.2.6 计算机网络 11
1.2.7 分布式系统 13
1.3 操作系统的基本概念 14
1.3.1 操作系统的定义及其在计算机系统中的地位 14
1.3.2 操作系统的功能 16
1.4.2 操作系统的性能指标 18
1.4.1 操作系统的特性 18
1.4 操作系统的特性及其应解决的基本问题 18
1.4.3 操作系统应解决的基本问题 19
1.5 UNIX 操作系统 20
1.5.1 UNIX 操作系统的发展 20
1.5.2 UNIX 操作系统的主要特点 21
习题一 23
第二章 操作系统的逻辑结构 24
2.1 概述 24
2.1.1 操作系统虚拟机 24
2.1.2 操作系统逻辑结构 25
2.2 基本硬件结构 26
2.2.1 处理机的状态及特权指令 26
2.2.2 存贮器 27
2.2.3 实时时钟 28
2.2.4 中断与俘获 29
2.3 系统核 36
2.4 核外各层 37
2.5 UNIX 系统结构 39
2.5.1 UNIX 系统的体系结构 39
2.5.2 UNIX 核心结构 39
习题二 40
第三章 用户界面 41
3.1 用户工作环境 41
3.1.1 用户环境 41
3.1.2 系统生成和系统启动 42
3.1.3 运行一个用户程序的过程 43
3.2 用户与操作系统的接口 44
3.2.1 操作系统提供的两个接口 45
3.2.2 作业控制语言和键盘命令 45
3.3 系统服务请求 47
3.3.1 系统调用命令 47
3.3.2 系统调用的实现 48
3.3.3 UNIX系统调用的实现 49
3.3.4 UNIX 系统调用的分类 51
习题三 52
第四章 并发处理 53
4.1 并发活动——进程的引入 53
4.1.1 程序的顺序执行 53
4.1.2 程序的并发执行 55
4.1.3 并发执行实例——眷抄 56
4.1.4 与时间有关的错误 59
4.1.5 并发程序的特点 61
4.2.1 进程的定义 63
4.2 进程概念 63
4.2.2 进程的类型 64
4.2.3 进程的状态 65
4.2.4 进程的描述——进程控制块 66
4.3 进程控制 68
4.3.1 进程控制的概念 68
4.3.2 进程创建 68
4.3.3 进程撤消 70
4.3.5 进程唤醒 71
4.3.4 进程挂起 71
4.3.6 进程延迟 72
4.4 进程的相互制约关系 74
4.4.1 资源共享 74
4.4.2 进程合作 74
4.5 进程互斥 75
4.5.1 互斥的概念 75
4.5.2 锁扣上锁、开锁操作 77
4.5.3 用上锁原语和开锁原语实现进程互斥 79
4.6 信号灯和P、V 操作 80
4.6.1 信号灯的概念 80
4.6.2 P、V 操作 81
4.6.3 用信号灯实现进程互斥 82
4.7 进程同步 83
4.7.1 同步的概念 83
4.7.3 用信号灯实现进程同步 84
4.7.2 同步的例子 84
4.7.4 生产者-消费者问题 87
4.8 进程通信 90
4.8.1 进程通信的概念 90
4.8.2 消息缓冲通信 90
4.9 UNIX系统的进程管理 93
4.9.1 UNIX系统的进程及映像 93
4.9.2 UNIX进程的状态及变迁 96
4.9.3 进程的创建 99
4.9.4 进程终止与等待 102
4.9.5 进程的睡眠与唤醒 103
习题四 106
第五章 资源分配与调度 109
5.1 资源管理概述 109
5.1.1 资源管理的目的和任务 109
5.1.2 资源的几种分类方法 110
5.1.3 资源管理机构和策略 111
5.2.1 资源描述器 112
5.2 资源分配机构 112
5.2.2 资源信息块 113
5.3 资源分配策略 113
5.3.1 概述 113
5.3.2 先请求先服务 114
5.3.3 优先调度 114
5.3.4 适应调度 115
5.3.6 针对设备特性的调度 116
5.3.5 均衡调度 116
5.4 死锁 117
5.4.1 死锁的概念 117
5.4.2 死锁的起因 119
5.4.3 解决死锁问题的策略 121
5.4.4 死锁的预防 123
5.4.5 死锁的避免 124
5.4.6 死锁的检测与恢复 126
习题五 126
6.2.1 作业调度的功能 128
6.2 作业调度 128
第六章 处理机调度 128
6.1 处理机的二级调度 128
6.2.2 作业控制块 129
6.2.3 调试性的衡量 130
6.2.4 先来先服务调度算法 132
6.2.5 短作业优先调度算法 132
6.2.6 响应比高者优先调度算法 133
6.2.7 优先数调度算法 134
6.2.8 均衡调度算法 134
6.3 进程调度 134
6.3.1 调度/分派结构 134
6.3.2 进程调度的功能 135
6.3.3 调度方式 136
6.3.4 调度用的进程状态变迁图 137
6.3.5 进程优先数调度算法 138
6.3.6 循环轮转调度 139
6.4.1 UNIX 的进程调度算法 140
6.4 UNIX 系统的进程调度 140
6.3.7 多重时间片循环调度 140
6.4.2 进程切换调度程序swtch 141
习题六 142
第七章 存贮管理 144
7.1 主存共享特征——空间分片 144
7.2 主存管理的功能 144
7.2.1 主存映射 145
7.2.2 逻辑组织 147
7.2.3 主存分配 147
7.2.4 提供虚存 148
7.2.5 存贮保护 149
7.3 分区存贮管理 150
7.3.1 概述 150
7.3.2 用基址寄存器实现动态地址映射 152
7.3.3 分区分配机构 152
7.3.4 分区的分配与回收 153
7.3.5 几种基本的放置策略 157
7.3.6 碎片问题及拼接技术 159
7.4 页式存贮管理 160
7.4.1 页式系统应解决的问题 160
7..4.2 页式地址变换 161
7.4.3 请调策略 164
7.4.4 淘汰策略 166
7.4.5 几种置换算法 167
7.4.6 页式系统的存贮分配 170
7.4.8 页式系统中的共享 172
7.4.7 放置策略 172
7.4.9 页式系统的保护措施 173
7.4.10 工作集模型 173
7.5 段式系统 175
7.5.1 段式系统的特点 175
7.5.2 段式地址变换 175
7.5.3 扩充段表功能 176
7.6.2 对换空间的管理 177
7.6.1 概述 177
7.6 UNIX 系统存贮管理策略 177
7.6.3 对换进程 179
7.6.4 请求调页的数据结构 181
7.6.5 UNIX 系统的地址映射 182
7.6.6 页面错 183
习题七 184
第八章 输入输出管理 187
8.1 I/O管理概念 187
8.1.1 引言 187
8.1.2 设计目标 188
8.1.3 I/O管理功能 189
8.1.4 设备独立性 189
8.1.5 设备控制块 191
8.2 缓冲技术 192
8.2.1 缓冲概述 192
8.2.3 环形缓冲 193
8.2.2 双缓冲 193
8.2.4 缓冲池 194
8.3 设备分配 196
8.3.1 设备分配原则 196
8.3.2 独享分配 198
8.3.3 共享分配 198
8.3.4 虚拟设备技术 198
8.3.5 SPOOLING 系统 199
8.3.6 慢速字符设备的分配 201
8.4 输入输出控制 203
8.4.1 输入输出控制方式 203
8.4.2 I/O 控制功能 206
8.4.3 I/O控制的接口程序 207
8.4.4 设备处理进程 208
8.5 UNIX 系统的设备管理 209
8.5.1 UNIX 系统设备管理的特点 209
8.5.2 UNIX 设备驱动程序的接口 210
8.5.3 UNIX缓冲区的管理 213
8.5.4 UNIX 的设备I/O控制 221
习题八 224
第九章 文件系统 225
9.1 文件系统的概念 225
9.1.1 引言 225
9.1.2 文件 225
9.1.3 文件系统 228
9.2 文件的逻辑组织与存取方法 229
9.2.1 证件的组织 229
9.2.2 文件的逻辑结构和存取方法 230
9.3 文件的物理结构 231
9.3.1 连续文件 231
9.3.2 串联文件 231
9.3.3 文件映照 234
9.3.4 随机文件 234
9.3.5 文伯物理结构比较 236
9.4.1 文件存贮器的主要参数 237
9.4 存贮技术 237
9.4.2 磁带存贮技术 238
9.4.3 磁鼓存贮技术 239
9.4.4 磁盘存贮技术 240
9.5 文件存贮空间的管理 241
9.5.1 空白文件目录 241
9.5.2 空白块链 242
9.5.3 位示图 242
9.6.1 文件目录及内容 243
9.5.4 分配策略 243
9.6 文件目录 243
9.6.2 一级文件目录 244
9.6.3 二级文件目录 245
9.6.4 多级文件目录 246
9.7 共享与安全 247
9.7.1 文件共享与安全性的关系 247
9.7.2 建立“当前目录”实现文件共享 247
9.7.4 基本文件目录和符吾民文件目录 248
9.7.3 采用“链接技术”实现文件共享 248
9.7.5 存取权限的类型及其难方法 249
9.8 文件的完整性 252
9.9 文件操作 253
9.10 UNIX 文件系统的主要结构及实现 254
9.10.1 UNIX文件系统的特点 254
9.10.2 索引节点 255
9.10.3 文件索引结构 256
9.10.4 文件目录结构 257
9.10.5 内存打开文件结构 258
9.10.6 文件存贮器空闲块的管理 263
9.10.7 UNIX 文件系统调用 265
习题九 271
第十章 分布式系统 273
10.1 计算机体系结构 273
10.1.1 计算机体系结构的演变 273
10.1.2 计算机应用的发展 273
10.1.3 并行处理与计算机体系结构 274
10.2 多处理机系统 277
10.2.1 多处理机系统的分类 277
10.2.2 多处理机操作系统 280
10.3 网络操作系统 281
10.3.1 计算机网络的层次结构 281
10.3.2 网络操作系统的功能 281
10.4 分布式系统 283
10.4.1 分布式系统发展的原因 283
10.4.2 什么是分布式系统 284
10.4.3 分布式系统的设计目标 285
10.4.4 分布式系统与计算机网络的异同 286
10.4.5 分布式操作系统的特点 286
10.5 分布式操作系统设计中的若干问题 287
10.5.1 命名 287
10.5.2 资源管理 289
10.5.3 分布式系统的同步 290
10.5.4 分布式系统的容错技术 291
10.5.5 保护 293