第1章 操作系统概述 1
1.1 操作系统的概念 1
1.1.1 什么是操作系统 1
1.1.2 计算机系统概述 3
1.1.3 操作系统的主要功能 13
1.1.4 操作系统的地位 17
1.1.5 操作系统的主要特性 18
1.2 操作系统的发展历史 20
1.2.1 手工操作阶段 20
1.2.2 单道批处理系统 22
1.2.3 多道程序设计系统 24
1.2.4 分时系统 27
1.2.5 实时系统 29
1.3 操作系统的进一步发展 30
1.3.1 个人PC操作系统 30
1.3.2 网络操作系统 31
1.3.3 分布式操作系统 31
1.3.4 嵌入式操作系统 32
1.3.5 大型机操作系统 33
1.3.6 服务器操作系统 33
1.3.7 多处理器操作系统 33
1.3.8 智能卡操作系统 34
1.4 操作系统大观 34
1.4.1 Windows操作系统 34
1.4.2 UNIX操作系统 35
1.4.3 Linux操作系统 36
1.4.4 FreeBSD操作系统 38
1.4.5 NetWare操作系统 40
1.4.6 AIX操作系统 40
1.4.7 Solaris操作系统 41
1.4.8 Mac OS操作系统 42
1.4.9 其他操作系统 42
1.5 操作系统的结构 45
1.5.1 操作系统的构件 45
1.5.2 整体结构 47
1.5.3 层次结构 47
1.5.4 虚拟机 48
1.5.5 客户机/服务器系统 48
1.6 系统调用 49
1.6.1 什么是系统调用 49
1.6.2 系统调用的实现 50
1.6.3 Trap与Interrupt 52
1.6.4 系统调用与过程 52
1.7 小结 52
课后习题 54
英文习题 56
思考题 57
第2章 进程管理 58
2.1 进程 58
2.1.1 进程的引入 58
2.1.2 进程的状态 63
2.1.3 进程控制块 67
2.1.4 进程的映像 70
2.1.5 OS的控制结构 73
2.1.6 进程的控制 74
2.2 线程 79
2.2.1 线程的引入 79
2.2.2 线程控制块 83
2.2.3 线程的状态 84
2.2.4 线程的级别 84
2.3 进程间通信 87
2.3.1 竞争与协作 88
2.3.2 临界区 89
2.3.3 忙等待的互斥 90
2.3.4 睡眠与唤醒 94
2.3.5 信号量及P、V原语 96
2.3.6 经典IPC问题 103
2.3.7 管程 108
2.3.8 消息 110
2.4 进程调度 112
2.4.1 调度的概念 112
2.4.2 批处理系统的调度 118
2.4.3 交互式系统的调度 121
2.4.4 实时系统的调度 127
2.4.5 策略与机制 128
2.4.6 线程调度 129
2.5 死锁 130
2.5.1 死锁产生的原因 130
2.5.2 死锁产生的条件 132
2.5.3 解决死锁的方法 132
2.6 小结 142
课后习题 144
英文习题 146
思考题 150
第3章 内存管理 151
3.1 内存介绍 151
3.1.1 内存 151
3.1.2 相关概念 155
3.2 单道系统的内存管理 160
3.3 多道系统的分区管理 162
3.3.1 固定分区管理 162
3.3.2 动态分区管理 164
3.3.3 查找算法 167
3.3.4 可重定位分区分配 168
3.3.5 分区管理的优缺点 170
3.4 页式管理 171
3.4.1 页式管理的实现原理 171
3.4.2 页式地址变换 173
3.4.3 相联存储器和快表 174
3.4.4 页的共享与保护 176
3.5 段式管理 177
3.5.1 段式管理的引入 177
3.5.2 段式管理的实现原理 177
3.5.3 段的共享与保护 178
3.5.4 分段和分页的比较 180
3.6 内存扩充 180
3.6.1 覆盖技术 180
3.6.2 交换技术 181
3.6.3 虚拟存储技术 182
3.7 请求页式管理 185
3.7.1 请求页式管理的思想及实现 185
3.7.2 多级页表 190
3.7.3 反置页表 192
3.7.4 请求页式管理的页面置换算法 193
3.7.5 请求页式管理设计时应注意的几个问题 202
3.7.6 请求页式管理性能 205
3.8 请求段式管理 206
3.8.1 请求段式管理的思想及实现 206
3.8.2 段的动态链接 207
3.8.3 段的共享 208
3.9 请求段页式管理 209
3.9.1 请求段页式管理的基本思想 209
3.9.2 请求段页式管理的实现原理 209
3.10 小结 212
课后习题 214
英文习题 216
思考题 218
第4章 设备管理 219
4.1 I/O硬件的基本原理 219
4.1.1 I/O设备的分类 219
4.1.2 设备控制器 220
4.2 I/O的控制方式 224
4.2.1 程序控制I/O方式 225
4.2.2 中断驱动I/O方式 227
4.2.3 DMA控制方式 230
4.2.4 通道控制方式 233
4.3 I/O软件 235
4.3.1 I/O软件的目标 235
4.3.2 I/O软件的层次 237
4.4 磁盘管理 249
4.4.1 磁盘的物理特性 249
4.4.2 磁盘的格式化 251
4.4.3 磁盘调度 253
4.4.4 RAID 256
4.5 小结 260
课后习题 263
英文习题 265
思考题 267
第5章 文件管理 268
5.1 文件 268
5.1.1 文件命名 268
5.1.2 文件结构 269
5.1.3 文件类型 270
5.1.4 文件存取 272
5.1.5 文件属性 273
5.1.6 文件操作 274
5.2 文件系统的功能和结构 275
5.2.1 文件系统的功能 275
5.2.2 文件系统的结构模型 276
5.3 目录 277
5.3.1 文件控制块和文件目录 277
5.3.2 目录结构 278
5.3.3 目录查询技术 282
5.3.4 目录操作 284
5.4 文件系统的实现 285
5.4.1 文件系统的格式 285
5.4.2 文件存储空间的分配 286
5.4.3 磁盘空间管理 290
5.5 文件的共享与保护 292
5.5.1 文件共享 292
5.5.2 文件的访问保护 294
5.6 文件系统的可靠性 296
5.6.1 文件备份 297
5.6.2 文件系统的一致性 299
5.7 小结 300
课后习题 303
英文习题 305
思考题 306
附录A 课后习题参考答案 307
参考文献 332