第一章 操作系统引论 1
1.1 操作系统的形成 1
l.1.l 人工操作方式 1
1.1.2 脱机输入输出(Off-Line I/O)技术 2
l.l.3 批处理技术 2
1.1.4 多道程序设计技术 3
1.2 操作系统的基本类型 4
l.2.1 批处理系统 5
l.2.2 分时系统(Time-Sharing System) 6
l.2.3 实时系统(Real-Time System) 8
1.3 操作系统特性 10
1.3.1 并发(Concurrence) 10
1.3.2 共享(Sharing) 10
1.3.3 虚拟(Virtual) 11
l.3.4 异步性(Asynchronism) 12
1.4 操作系统的任务和功能 12
1.4.1 处理机管理的任务和功能 12
1.4.2 存储器管理的任务和功能 13
1.4.3 设备管理的任务和功能 14
1.4.4 文件管理的任务和功能 15
1.4.5 用户接口 16
1.5 典型微机操作系统简介 17
1.5.1 MS-DOS操作系统 17
1.5.2 OS/2操作系统 18
1.5.3 Windows操作系统 20
1.5.4 UNIX操作系统 21
习题 22
第二章 进程管理 23
2.l 进程的基本概念 23
2.1.l 程序的顺序执行及其特性 23
2.1.2 前趋图 24
2.1.3 程序的并发执行及其特征 25
2.1.4 进程的特征与状态 26
2.1.5 进程控制块 29
2.2 进程控制 30
2.2.1 操作系统内核 31
2.2.2 进程的创建 32
2.2.3 进程的撤消 34
2.2.4 进程的阻塞与唤醒 34
2.2.5 进程的挂起与激活 35
2.3 进程同步 36
2.3.l 临界区(Critical Section) 36
2.3.2 信号量机制 37
2.3.3 信号量的应用 38
2.3.4 经典进程的同步问题 41
2.3.5 进程通信的方式和类型 44
2.3.6 消息缓冲队列通信机制 46
2.4 线程 47
2.4.1 线程的基本概念 48
2.4.2 线程间的同步与通信 51
2.4.3 线程的实现 52
2.5 进程调度 54
2.5.1 调度的基本概念 55
2.5.2 进程调度算法 57
2.5.3 进程调度的实现 58
2.6 死锁 61
2.6.1 形成死锁的原因和必要条件 61
2.6.2 预防死锁 64
2.6.3 避免死锁 65
习题 67
第三章 存储器管理 71
3.1 程序的装入和链接 71
3.1.l 程序的装入 71
3.1.2 程序的链接 73
3.2 连续分配方式 75
3.2.l 单一连续分配 75
3.2.2 固定分区分配 75
3.2.3 动态分区分配 76
3.2.4 可重定位分区分配 79
3.2.5 对换 80
3.3 离散分配方式 82
3.3.1 基本分页存储管理方式 82
3.3.2 基本分段存储管理方式 87
3.3.3 基本段页式存储管理方式 89
3.4 虚拟存储器 92
3.4.1 虚拟存储器的基本概念 92
3.4.2 请求分页系统中的硬件支持 94
3.4.3 请求分页系统中的软件 96
3.4.4 请求分段系统中的硬件 101
3.4.5 分段的共享与保护 102
习题 104
第四章 设备管理 106
4.1 1/O控制方式 106
4.l.l 程序1/O(Programmed l/O)方式 106
4.1.2 中断驱动(Interrupt Driven) I/O控制方式 106
4.1.3 直接存储器访问DMA(Direct Memory Access)控制方式 108
4.1.4 I/O通道控制方式 109
4.2 缓冲管理 112
4.2.1 缓冲的引入 112
4.2.2 单缓冲和双缓冲 113
4.2.3 循环缓冲(Circular Buffer) 114
4.2.4 缓冲地(Buffer Pool) 116
4.3 设备分配 118
4.3.1 设备分配中的数据结构 118
4.3.2 设备分配时应考虑的因素 119
4.3.3 设备独立性(Device IndePendence) 120
4.3.4 设备分配程序 122
4.3.5 Spooling技术 123
4.4 设备处理 125
4.4.l 设备处理程序的功能和特征 125
4.4.2 设备驱动程序的工作过程 126
4.4.3 中断处理程序的工作过程 127
4.4.4 磁盘驱动程序 129
4.5 磁盘I/O 131
4.5.l 磁盘性能简述 131
4.5.2 磁盘调度 133
4.5.3 磁盘高速缓冲 136
4.5.4 廉价磁盘冗余阵列 136
习题 138
第五章 文件管理 140
5.l 文件和文件系统 140
5.1.1 文件、记录和数据项 140
5.1.2 文件类型和文件系统模型 141
5.1.3 文件操作 142
5.2 文件的结构 143
5.2.1 文件的逻辑结构(File-Logical Structure) 143
5 2.2 文件的物理结构(File Physical Structure) 144
5.3 文件存储空间的管理 149
5.3.1 空闲表法和空闲链表法 150
5.3.2 位示图法 151
5.3.3 成组链接法 152
5.4 目录管理 153
5.4.1 文件控制块和索引结点 153
5.4.2 目录结构 155
5.4.3 目录查询技术 158
5.5 文件共享和安全性 160
5.5.l 文件共享方式 160
5.5.2 文件安全性管理 163
5.6 数据一致性控制 165
5.6.1 事务 165
5.6.2 检查点 166
5.6.3 并发控制 167
5.6.4 重复数据的数据一致性问题 168
习题 170
第六章 网络操作系统 172
6.1 计算机网络概述 172
6.1.l 计算机网络的拓扑结构 172
6.1.2 计算机广域网络 174
6.1.3 计算机局域网络 177
6.1.4 开放系统互连参考模型 179
6.1.5 Internet与 Intranet 181
6.2 客户/服务器模式(Client/Server Mode) 182
6.2.1 客户/服务器模式的形成及其优点 182
6.2.2 两层结构的客户/服务器模式 183
6.2.3 三层结构的客户/服务器模式 184
6.3 网络操作系统的功能 186
6.3.1 数据通信功能 186
6.3.2 资源共享功能 188
6.3.3 系统容错功能 189
6.3.4 网络管理功能 191
6.3.5 应用互操作功能 193
6.4 网络操作系统提供的服务 194
6.4.1 电子邮件服务 194
6.4.2 文件传输服务 195
6.4.3 目录服务 196
6.4.4 支持 Internet/Intranet的服务 198
习题 200
第七章 操作系统接口 201
7.1 联机命令接口 201
7.1.l 联机命令的类型 201
7.1.2 键盘终端处理程序 203
7.1.3 命令解释程序 205
7.2 Shell命令语言 207
7.2.1 简单命令 207
7.2.2 重定向与管道命令 210
7.2.3 通信命令 211
7.3 系统调用 212
7.3.1 什么是系统调用 212
7.3.2 系统调用的类型 214
7.3.3 系统调用的实现 215
7.4 UNIX系统中的系统调用 218
7.4.I UNIX系统中系统调用的类型 218
7.4.2 中断和陷入总控程序trap.s 220
7.4.3 陷入处理程序 trap.c 221
习题 222
第八章 安全性 224
8.1 引言 224
8.1.1 对计算机和网络安全威胁的类型 224
8.1.2 对各类资源的威胁 225
8.1.3 安全保障的基本技术 226
8.2 认证技术 228
8.2.1 基于用户知识的认证技术 228
8.2.2 基于用户持有物的认证技术 230
8.3 访问控制技术 231
8.3.l 访问控制矩阵 232
8.3.2 拷贝权、拥有权和控制权 233
8.3.3 访问控制表和访问权限表 235
8.4 数据加密技术 236
8.4.1 数据加密概述 237
8.4.2 常规加密算法 238
8.4.3 公开密钥(Public Key)算法和数字签名 240
8.5 防火墙(Firewall)技术 242
8.5.1 包过滤技术 242
8.5.2 代理服务(Proxy Server)技术 244
8.5.3 规划检查防火墙(Stateful Inspection Firewall) 246
习题 246
第九章 UNIX系统的核心结构 248
9.1 进程的描述和控制 248
9.1.l 进程控制块 PCB 248
9.1.2 进程状态和进程映像 250
9.1.3 进程的控制 252
9.2 进程的同步与通信 254
9.2.1 信号机制 254
9.2.2 管道机制 255
9.2.3 消息(Message)机制 256
9.2.4 共享存储区和信号量集机制 258
9.3 存储器管理 259
9.3.1 对换 259
9.3.2 请求调页管理的数据结构 261
9.3.3 换页进程 262
9.3.4 请求调页 264
9.4 设备管理 264
9.4.l 字符设备缓冲管理 264
9.4.2 块设备缓冲管理 265
9.4.3 核心与驱动程序接口 267
9.4.4 磁盘设备驱动程序 268
9.5 文件系统 269
9.5.l UNIX文件系统概述 270
9.5.2 文件的物理结构 271
9.5.3 索引结点的管理 273
9.5.4 空闲磁盘空间的管理 275
9.5.5 目录管理 276
习题 277
参考文献 278