目录 1
第一章 绪论 1
1.1 什么是操作系统 1
1.2 操作系统的分类 4
1.3 操作系统的结构 5
1.3.1 系统结构 5
1.3.2 两种机器状态 7
1.3.3 两种系统界面 7
1.4 操作系统的特征 10
1.4.1 操作系统的基本特征 10
1.4.2 现代操作系统的某些新特征 11
1.5 中断在操作系统中的地位 14
1.6 网络操作系统 14
1.7 分布式操作系统 16
1.8 操作系统的启动和工作过程 18
习题 19
第二章 中断技术 20
2.1 中断的概念、作用和类型 20
2.2 中断响应过程 24
2.3 中断处理过程 25
2.4 向量中断 28
习题 29
第三章 进程和线程的描述与控制 30
3.1 进程的引入 30
3.1.1 程序的顺序执行 30
3.1.2 程序的并发执行及特点 31
3.2 进程的概念 35
3.2.1 进程的定义和特点 36
3.3.2 进程的基本状态 37
3.2.3 进程控制块 39
3.3.1 进程控制的有关概念 40
3.3 进程控制 40
3.3.2 进程创建 41
3.3.3 进程终止 43
3.3.4 进程等待 44
3.3.5 进程唤醒 45
3.3.6 进程挂起 45
3.4 线程 48
3.4.1 线程的引入 48
3.4.2 线程的控制 50
3.4.3 线程与进程的比较 51
3.4.4 用户级线程和内核级线程 52
习题 54
第四章 进程的同步与通信 55
4.1 互斥与同步的基本概念 55
4.2 解互斥问题的算法 57
4.3 同步与互斥的基本工具——信号量和P,V操作 61
4.4.1 生产者—消费者问题 63
4.4 经典的互斥、同步问题 63
4.4.2 读者—写者问题 65
4.4.3 哲学家进餐问题 67
4.5 管程机制 69
4.5.1 管程的引入 69
4.5.2 管程概念 70
4.5.3 利用管程解生产者—消费者问题 72
4.5.4 利用管程解哲学家进餐问题 73
4.6 进程通信 75
4.6.1 消息缓冲通信 76
4.6.2 信箱通信 77
4.6.3 共享文件通信 78
习题 79
第五章 处理机调度 82
5.1 处理机调度类型 82
5.1.1 作业调度 82
5.1.2 中程调度 84
5.1.3 进程调度 85
5.1.4 选择调度算法的准则 86
5.2 调度算法 87
5.2.1 先来先服务调度算法 88
5.2.2 最短作业(进程)优先调度算法 88
5.2.3 时间片轮转调度算法 90
5.2.4 优先数调度算法 93
5.2.5 最高响应比优先调度算法 94
5.2.6 多级队列调度算法 95
5.2.7 多级反馈队列调度算法 95
5.2.8 公平分享调度算法 97
5.2.9 几种常见调度算法的比较 99
5.3 多处理机调度 100
5.3.1 负载分配调度 101
5.3.2 成组调度 102
习题 103
5.3.3 专用处理机分配 103
第六章 死锁 106
6.1 死锁的基本概念 106
6.1.1 什么是死锁 106
6.1.2 死锁的表示 108
6.1.3 死锁判定法则 109
6.1.4 解决死锁问题的基本方法 111
6.2 死锁的预防 111
6.3.1 若干概念 113
6.3 死锁的避免 113
6.3.2 死锁避免算法 114
6.4 死锁的检测和消除 117
6.4.1 死锁检测算法 117
6.4.2 死锁的解除 117
6.5 处理死锁的综合措施 119
习题 119
7.1 存储器管理的基本概念 122
第七章 存储器管理 122
7.2.1 固定式分区存储管理 125
7.2.2 动态分区存储管理 125
7.2 分区存储管理 125
7.2.3 碎片问题及拼接技术 130
7.3 伙伴系统 132
7.4 分页存储管理 135
7.4.1 分页存储管理的基本原理 136
7.4.2 存储空间的分配和回收 138
7.4.3 地址变换机构 138
7.4.4 多级页表和反向页表 141
7.4.5 存储保护 144
7.5 分段管理 145
7.5.1 分段管理的原理 145
7.5.2 分段存储管理的实现 146
7.5.3 段的共享和保护 148
7.6.2 实现方法 149
7.6 段页式管理 149
7.6.1 段页式的基本思想 149
习题 153
第八章 虚拟存储器 155
8.1 虚拟存储器概述 155
8.1.1 虚拟存储器的基本原理 155
8.1.2 虚拟存储器的理论基础 156
8.2 请求分页存储管理 157
8.3 页面置换算法 161
8.3.1 最佳(Optimal)置换算法 161
8.3.2 先进先出(FIFO)置换算法 162
8.3.3 最近最少使用(LRU)置换算法 163
8.3.4 时钟(clock)置换算法 167
8.3.5 页面缓冲(page buffering)置换算法 168
8.4.2 页面分配算法 169
8.4 页面分配算法和页面置换范围 169
8.4.1 进程正常运行所需的最少块数 169
8.4.3 页面的分配和置换范围 170
8.5 请求分页系统性能分析 172
8.5.1 缺页率对有效访问时间的影响 172
8.5.2 工作集问题 172
8.5.3 抖动现象 174
8.5.4 页面大小的选择 178
8.6 请求分段存储管理 181
8.6.1 请求分段存储管理的实现原理 182
8.6.2 段的共享和保护 184
习题 187
第九章 设备管理 190
9.1 设备管理概述 190
9.1.1 设备分类 190
9.1.2 设备管理的任务和功能 191
9.1.3 设备控制器与I/O通道 192
9.1.4 I/O系统结构 193
9.2 输入/输出控制方式 195
9.2.1 程序直接控制方式 195
9.2.2 中断控制方式 196
9.2.3 DMA控制方式 196
9.2.4 通道控制方式 198
9.3 缓冲技术 199
9.3.1 缓冲的引入 199
9.3.2 单缓冲 200
9.3.3 双缓冲 200
9.3.4 循环缓冲 201
9.3.5 缓冲池 202
9.4 设备分配 202
9.4.1 设备分配中的数据结构 202
9.4.2 设备分配策略 203
9.4.3 设备分配程序 205
9.4.4 Spooling系统 206
9.5 I/O软件的层次结构 207
9.5.1 中断处理程序 207
9.5.2 设备驱动程序 208
9.5.3 与设备无关的I/O软件 209
9.5.4 用户空间的软件 210
习题 212
第十章 文件管理 213
10.1 文件系统的概念 213
10.1.1 文件和文件系统 213
10.1.2 文件分类 214
10.2 文件结构与存储设备 216
10.2.1 文件的逻辑结构 216
10.2.2 文件的物理结构 216
10.2.3 文件的存取方法 217
10.2.4 文件的存储设备 218
10.3 文件存储空间的分配与管理 222
10.3.1 文件存储空间的分配 222
10.3.2 空闲存储空间的管理 225
10.4 文件目录管理 227
10.4.1 文件目录 227
10.4.2 单级目录结构 229
10.4.3 二级目录结构 229
10.4.4 多级目录结构 230
10.5 文件共享及文件管理的安全性 232
10.5.1 文件共享 232
10.5.2 文件保护 236
10.5.3 文件的转储和恢复 239
10.6 文件的使用 239
习题 240
11.1 UNIX操作系统概述 242
11.1.1 UNIX的历史 242
第十一章 UNIX操作系统 242
11.1.2 UNIX系统的特点 243
11.1.3 UNIX系统核心体系结构 244
11.2 UNIX的进程描述 245
11.2.1 进程描述的数据结构 245
11.2.2 进程状态及其转换 247
11.2.3 进程上下文 249
11.3 进程控制与调度 250
11.3.1 进程控制 250
11.3.2 进程调度 255
11.3.3 进程切换 257
11.4 进程的同步与通信 258
11.4.1 软中断信号 258
11.4.2 管道 260
11.4.3 消息 262
11.4.4 共享存储区 265
11.4.5 信号量 267
11.5 存储器管理 269
11.5.1 请求调页管理的数据结构 269
11.5.2 偷页进程 271
11.5.3 请求调页 273
11.6 设备管理 275
11.6.1 设备缓冲管理 275
11.6.2 核心与驱动程序的接口 279
11.6.3 磁盘驱动程序 281
11.7 文件管理 283
11.7.1 文件存储空间的管理 283
11.7.2 文件的物理结构 284
11.7.3 用户文件描述符表和文件表 286
11.8 目录管理 287
11.8.1 索引节点的管理 287
11.8.2 构造目录和删除目录 289
11.8.3 检索目录 290
11.9 文件系统的系统调用 291
11.9.1 系统调用open 291
11.9.2 系统调用creat 292
11.9.3 系统调用close 293
11.9.4 系统调用link和unlink 293
11.9.5 系统调用read和write 294
习题 295
第十二章 Windows 2000/XP简介 297
12.1 Windows 2K/XP的模型 297
12.2 进程互斥和同步 301
12.3 进程间通信 302
12.4 线程调度 305
12.5 内存管理 316
12.5.1 地址空间的布局 317
12.5.2 地址转换机制 319
12.5.3 用户空间内存分配方式 322
12.5.4 系统内存管理 323
12.6 I/O系统结构和模型 324
12.6.1 I/O管理器 326
12.6.2 即插即用管理器 327
12.6.3 电源管理器 329
12.7 外存管理 330
12.7.1 磁盘存储类型 330
12.7.2 驱动程序Ntldr 331
12.7.3 多重分区管理 332
12.7.4 高速缓存 333
12.8 Win 2K网络功能 334
12.8.1 Win 2K网络体系结构 334
12.8.2 Win 2K的层次化网络服务 337
12.8.3 Win 2K中的重要网络功能 337
习题 340
参考文献 341