第1章 引论 1
1.1 操作系统概述 1
1.1.1 操作系统的概念 1
1.1.2 操作系统的目标 2
1.1.3 操作系统的作用 3
1.1.4 研究操作系统的几种观点 4
1.2 操作系统的发展过程 4
1.2.1 推动操作系统发展的动力 5
1.2.2 操作系统的历史演变 5
1.2.3 操作系统的主要成就 9
1.2.4 操作系统的分类 10
1.3 操作系统的基本特性 13
1.3.1 并发性(Concurrence) 13
1.3.2 共享性(Sharing) 14
1.3.3 虚拟性(Virtual) 14
1.3.4 异步性(Asynchronism) 15
1.4 操作系统的资源管理功能 15
1.4.1 处理机管理 15
1.4.2 存储器管理 15
1.4.3 设备管理 16
1.4.4 文件管理 16
1.5 操作系统的用户接口 16
1.5.1 命令接口 16
1.5.2 程序接口 17
1.5.3 图形接口 19
1.6 UNIX操作系统概述 19
1.6.1 UNIX的历史 19
1.6.2 UNIX的特点 20
1.6.3 UNIX的体系结构 21
1.6.4 UNIX的用户界面 21
本章小结 22
实验1 安装Windows 2000 Professional 23
实验2 Windows 2000 Professional系统管理 24
习题 26
第2章 进程管理 29
2.1 进程的基本概念 29
2.1.1 进程的引入 29
2.1.2 进程的定义与特征 30
2.1.3 进程的状态及其转换 31
2.1.4 进程控制块 33
2.2 进程控制 34
2.2.1 进程的创建(Creation of Process) 34
2.2.2 进程的终止(Termination of Process) 35
2.2.3 进程的阻塞与唤醒 36
2.2.4 进程的挂起与激活 37
2.3 进程同步 37
2.3.1 进程同步的基本概念 37
2.3.2 进程同步机制 38
2.3.3 锁机制 39
2.4 信号量机制 40
2.4.1 信号量机制的定义 40
2.4.2 信号量机制实现互斥 43
2.4.3 信号量机制实现同步 44
2.4.4 信号量机制实现资源分配 44
2.5 用信号量机制解决经典进程同步问题 46
2.5.1 生产者-消费者问题(the Proceducer-Consumer Problem) 46
2.5.2 读者-写者问题(the Reader-Writer Problem) 47
2.5.3 哲学家进餐问题 48
2.6 管程机制 48
2.6.1 管程的基本概念 48
2.6.2 利用管程解决生产者-消费者问题 49
2.7 进程通信 50
2.7.1 进程通信的类型 51
2.7.2 消息传递通信 51
2.8 线程 54
2.8.1 线程的基本概念 54
2.8.2 线程间的同步和通信 56
2.8.3 线程的实现 56
2.9 UNIX的进程管理 57
2.9.1 进程描述 57
2.9.2 进程状态及其转换 58
2.9.3 进程控制 59
2.9.4 进程的同步与通信 60
本章小结 62
实验3 Windows 2000 Professional任务管理器的进程管理 62
习题 64
第3章 处理机调度与死锁 68
3.1 处理机调度的基本概念 68
3.1.1 处理机调度的层次 68
3.1.2 调度队列模型 69
3.1.3 调度性能的评价准则 70
3.2 作业调度 72
3.2.1 作业的概念 72
3.2.2 作业状态及转换 72
3.2.3 作业调度 73
3.2.4 作业调度算法 74
3.3 进程调度 77
3.3.1 进程调度的功能 77
3.3.2 进程调度的时机 78
3.3.3 进程调度性能评价 78
3.3.4 进程调度算法 78
3.4 死锁 81
3.4.1 产生死锁的原因 81
3.4.2 产生死锁的必要条件 82
3.4.3 处理死锁的基本方法 83
3.4.4 预防死锁 83
3.5 资源分配图与死锁定理 84
3.5.1 资源分配图(Resource Allocation Graph) 84
3.5.2 死锁定理 85
3.6 避免死锁 85
3.6.1 系统资源的分配状态 86
3.6.2 单种资源的银行家算法 86
3.6.3 多种资源的银行家算法 88
3.7 死锁的检测与恢复 90
3.7.1 死锁的检测时机 90
3.7.2 死锁的检测方法 90
3.7.3 死锁的解除 91
3.7.4 处理死锁的综合方法 92
3.8 UNIX的进程调度 92
本章小结 93
习题 94
第4章 存储器管理 97
4.1 存储器管理概述 97
4.1.1 存储器的层次 97
4.1.2 存储管理的目的 98
4.1.3 存储管理的功能 98
4.2 分区存储管理 100
4.2.1 单一连续分区存储管理 100
4.2.2 固定分区存储管理 102
4.2.3 可变分区存储管理 105
4.3 分页式存储管理 111
4.3.1 基本思想 111
4.3.2 地址转换与存储保护 112
4.3.3 内存块的组织与管理 115
4.3.4 分页式存储管理的特点与缺点 117
4.4 分段式存储管理 117
4.4.1 分段存储管理方式的引入 117
4.4.2 分段存储管理的基本思想 118
4.4.3 段的共享 119
4.4.4 分页与分段的比较 120
4.4.5 段页式存储管理方式 120
4.5 虚拟存储器的概念 122
4.5.1 虚拟存储器的引入 122
4.5.2 虚拟存储器的实现 123
4.6 请求分页式存储管理 124
4.6.1 基本思想 124
4.6.2 缺页中断与地址变换 125
4.6.3 页面淘汰算法 128
4.6.4 请求分页式存储管理的优缺点 131
4.7 请求分段式存储管理 131
4.7.1 请求分段的实现 131
4.7.2 段的共享与保护 134
4.7.3 请求段页式存储管理 135
4.8 UNIX的存储管理 135
4.8.1 交换 136
4.8.2 请求分页 136
4.8.3 换页进程 139
本章小结 140
实验4 提高Windows 2000 Professional操作系统的内存性能 142
习题 143
第5章 设备管理 146
5.1 概述 146
5.1.1 设备管理的目标和功能 146
5.1.2 计算机设备的分类 147
5.1.3 I/O系统的组成 148
5.2 输入/输出的处理步骤 152
5.2.1 I/O系统的层次结构 152
5.2.2 I/O中断处理程序 153
5.2.3 设备驱动程序 153
5.2.4 输入/输出管理程序 154
5.3 设备的分配与调度算法 154
5.3.1 管理设备时的数据结构 154
5.3.2 独享设备的分配 155
5.3.3 共享磁盘的调度 156
5.4 数据传输的方式 160
5.4.1 程序循环测试方式 160
5.4.2 中断驱动I/O控制方式 161
5.4.3 直接存储器存取(DMA)方式 163
5.4.4 通道方式 164
5.5 设备管理中的若干技术 165
5.5.1 I/O缓冲技术 165
5.5.2 虚拟设备与Spooling技术 169
5.6 UNIX的设备管理 170
5.6.1 字符设备缓冲区管理 171
5.6.2 块设备缓冲区管理 172
本章小结 174
实验5 Windows 2000 Professional操作系统鼠标处理 174
习题 177
第6章 文件管理 179
6.1 文件管理概述 179
6.1.1 文件系统的引入 179
6.1.2 文件及其分类 180
6.1.3 文件系统 182
6.2 文件的结构 184
6.2.1 文件的逻辑结构与存取方法 184
6.2.2 文件的物理结构与存储设备 186
6.3 文件管理与目录结构 189
6.3.1 文件控制块与索引节点 189
6.3.2 文件目录结构 191
6.3.3 “按名存取”的实现 193
6.4 文件存储空间的管理 194
6.4.1 位示图法 194
6.4.2 空闲区表法 195
6.4.3 空闲链表法 196
6.5 文件的共享与保护 197
6.5.1 文件的共享 197
6.5.2 文件的保护和保密 198
6.6 UNIX的文件管理 200
6.6.1 UNIX文件系统概述 200
6.6.2 文件的物理结构 200
6.6.3 索引节点的管理 202
6.6.4 文件存储空间的管理 203
6.6.5 目录管理 204
本章小结 204
实验6 优化Windows 2000 Professional操作系统磁盘子系统 205
习题 206
第7章 操作系统的安全性 208
7.1 引言 208
7.1.1 系统安全性的内容和性质 208
7.1.2 对系统安全的威胁类型 209
7.1.3 对各类资源的威胁 210
7.1.4 信息技术安全评价公共准则 212
7.2 数据加密技术 214
7.2.1 数据加密技术概述 214
7.2.2 数字签名和数字证书 216
7.2.3 网络加密技术 217
7.3 认证技术 217
7.3.1 基于口令的身份认证技术 218
7.3.2 基于物理标志的认证技术 219
7.3.3 基于公开密钥的认证技术 220
7.4 防火墙技术 221
7.4.1 包过滤防火墙 222
7.4.2 代理服务技术 223
7.4.3 规则检查防火墙 225
本章小结 225
实验7 Windows 2000 Professional操作系统的安全机制 226
习题 228
第8章 网络操作系统与分布式操作系统 230
8.1 计算机网络概述 230
8.1.1 计算机网络的概念 230
8.1.2 数据通信基本概念 234
8.1.3 网络体系结构 235
8.2 网络操作系统 238
8.2.1 网络操作系统概述 238
8.2.2 网络操作系统的功能 239
8.2.3 网络操作系统提供的服务 241
8.3 分布式操作系统 242
8.3.1 分布式系统概述 242
8.3.2 分布式进程通信 244
8.3.3 分布式资源管理 245
8.3.4 分布式进程同步 245
8.3.5 分布式系统中的死锁 246
8.3.6 分布式文件系统 246
8.3.7 分布式进程迁移 247
本章小结 248
习题 248
综合课程设计1 软盘驱动器的设计 249
综合课程设计2 简单的文件管理器的设计 253
附录A 习题参考答案 256
参考文献 268