第一章 绪论 1
1.1 概述 1
1.1.1 存储程序式计算机的结构与特点 1
1.1.2 计算机体系结构与操作系统的关系 2
1.1.3 操作系统的使用 2
1.1.4 操作系统的层次模型 3
1.2 操作系统的发展历程 4
1.2.1 人工操作方式 4
1.2.2 批处理系统 5
1.2.3 执行系统 5
1.2.4 多道程序设计与多道成批系统 6
1.2.5 分时系统 7
1.2.6 实时系统 8
1.2.7 计算机网络 9
1.2.8 分布式系统 10
1.3 操作系统的功能 10
1.3.1 处理机管理 11
1.3.2 存储器管理 11
1.3.3 设备管理 12
1.3.4 文件管理 13
1.3.5 作业管理 13
1.4 操作系统的特点 14
1.4.1 操作系统的特点 14
1.4.2 操作系统的性能指标 14
1.4.3 操作系统应解决的问题 15
习题一 16
第二章 操作系统的逻辑结构 17
2.1 概述 17
2.1.1 操作系统虚拟机 17
2.1.2 操作系统的逻辑结构 17
2.2 基本硬件结构 18
2.2.1 处理机的状态及特权指令 18
2.2.2 内存 19
2.2.3 实时时钟 20
2.2.4 中断与俘获 21
2.3 操作系统的分层结构 25
2.3.1 系统核 25
2.3.2 核外各层 26
习题二 26
第三章 作业管理 28
3.1 用户工作环境 28
3.1.1 系统生成 28
3.1.2 系统初启 29
3.1.3 运行一个用户程序的过程 29
3.2 作业概念 30
3.2.1 作业和作业步 30
3.2.2 作业控制方式 31
3.3 批处理作业的管理 31
3.3.1 批处理作业的组织 31
3.3.2 批处理作业输入 31
3.3.3 批处理作业的控制 34
3.4 交互式作业的管理 35
3.4.1 交互式作业的概念 35
3.4.2 交互式作业的控制 35
3.4.3 终端作业的管理 37
3.5 系统服务请求 37
3.5.1 系统调用命令 38
3.5.2 系统调用的实现 38
习题三 39
第四章 并发处理 40
4.1 并发活动 40
4.1.1 程序的顺序执行 40
4.1.2 程序的并发执行 40
4.2 进程的概念 43
4.2.1 进程的概念 43
4.2.2 进程的类型 44
4.2.3 进程的状态 44
4.3 进程的描述 45
4.3.1 进程控制块PCB 46
4.3.2 进程上下文 47
4.3.3 进程空间 48
4.4 进程控制 48
4.4.1 进程创建与撤消 49
4.4.2 进程的挂起与唤醒 50
4.5 进程互斥 52
4.5.1 资源共享引起的制约 52
4.5.2 进程互斥的概念 53
4.5.3 利用软件方法解决进程互斥问题 53
4.5.4 利用硬件方法解决进程互斥问题 55
4.5.5 信号量机制 57
4.6 进程同步 60
4.6.1 进程同步的概念 60
4.6.2 同步机制应遵循的准则 60
4.6.3 生产者-消费者问题 61
4.7 进程通信 63
4.8 线程 66
4.8.1 线程概念 66
4.8.2 进程和线程的关系 67
习题四 67
第五章 资源分配与管理 69
5.1 资源管理概述 69
5.1.1 资源管理目的 69
5.1.2 资源的几种分类方法 70
5.1.3 资源分配机构 70
5.1.4 资源分配策略 71
5.2 死锁的基本概念 72
5.2.1 产生死锁的原因 73
5.2.2 产生死锁的必要条件 75
5.2.3 处理死锁的基本方法 75
5.3 死锁的预防和避免 76
5.3.1 避免死锁 76
5.3.2 预防死锁方法 77
5.3.3 利用银行家算法避免死锁 78
5.4 系统的安全状态 79
5.4.1 安全状态 79
5.4.2 死锁定理 80
5.4.3 死锁检测中的数据结构 80
5.4.4 死锁的解除 80
习题五 81
第六章 处理机调度 83
6.1 处理机的二级调度 83
6.1.1 处理机调度的功能 83
6.1.2 批处理系统中的处理机调度 83
6.1.3 多任务处理机调度 84
6.2 作业调度 84
6.2.1 作业的状态及其转换 84
6.2.2 作业调度的功能 85
6.2.3 作业控制块 86
6.2.4 调度性能的衡量 86
6.2.5 作业调度算法 87
6.3 进程调度 89
6.3.1 调度和分派 89
6.3.2 进程调度的功能 90
6.3.3 进程调度方式 91
6.3.4 调度用的进程状态变迁图 92
6.3.5 进程调度算法 92
习题六 94
第七章 存储管理 97
7.1 存储管理的概念 97
7.1.1 存储器的层次 97
7.1.2 存储管理的任务 98
7.2 分区管理方案 100
7.2.1 固定分区 100
7.2.2 可变分区 101
7.2.3 分区管理方案的优缺点 105
7.3 页式存储管理 106
7.3.1 分页存储管理的基本方法 106
7.3.2 地址变换机构 108
7.3.3 两级和多级页表 110
7.3.4 页式存储管理的优点缺点 111
7.4 段式存储管理 112
7.4.1 分段存储管理方式的引入 112
7.4.2 分段系统的基本原理 113
7.4.3 分页和分段的主要区别 115
7.5 段页式存储管理方式 115
7.5.1 基本原理 115
7.5.2 地址变换过程 116
习题七 117
第八章 虚拟存储器管理 121
8.1 虚拟存储管理的概念 121
8.1.1 虚拟存储器的定义 121
8.1.2 程序的局部性原理 121
8.2 请求分页虚拟存储系统 122
8.2.1 分页式虚拟存储系统的硬件支撑 122
8.2.2 页面装入策略 124
8.2.3 淘汰算法 125
8.2.4 抖动与工作集 128
8.3 请求分段虚拟存储系统 129
8.3.1 请求分段中的硬件支撑 129
8.3.2 分段共享与保护 131
习题八 132
第九章 输入输出管理 134
9.1 I/O系统的组成 134
9.1.1 I/O设备的重要性 134
9.1.2 I/O系统的结构 134
9.1.3 I/O设备 135
9.1.4 设备控制器 136
9.1.5 I/O通道 138
9.2 I/O控制方式 140
9.2.1 程序轮询I/O方式 140
9.2.2 中断驱动I/O控制方式 141
9.2.3 直接存储器访问DMA控制方式 142
9.2.4 I/O通道控制方式 143
9.3 缓冲管理 145
9.3.1 缓冲的引入 146
9.3.2 单缓冲 146
9.3.3 双缓冲 147
9.3.4 循环缓冲 148
9.3.5 缓冲池 149
9.4 设备分配 151
9.4.1 设备分配中的数据结构 151
9.4.2 设备分配时应考虑的若干因素 152
9.4.3 设备独立性 154
9.4.4 独占设备的分配程序 155
9.4.5 SPOOLing技术 156
9.5 设备处理 158
9.5.1 设备驱动程序的功能和特点 158
9.5.2 设备驱动程序的处理过程 159
9.5.3 中断处理程序的处理过程 160
习题九 161
第十章 文件系统 163
10.1 文件系统的概念 163
10.1.1 文件系统的引入 163
10.1.2 文件与文件系统的概念 164
10.2 文件的逻辑组织与存取方法 166
10.2.1 文件的逻辑结构 166
10.2.2 存取方法 169
10.3 文件的物理结构与存储设备 171
10.3.1 文件的物理结构与存储设备 171
10.3.2 文件存储设备 173
10.4 文件存储空间的管理 177
10.4.1 空闲文件目录 178
10.4.2 空闲块链 178
10.4.3 位示图 179
10.4.4 分配策略 180
10.5 文件目录管理 180
10.5.1 文件目录的组成 181
10.5.2 文件目录结构 182
10.5.3 目录管理 186
10.6 共享与安全 187
10.6.1 文件共享 187
10.6.2 文件的保护 189
10.6.3 文件的存取权限 190
10.6.4 文件操作 193
习题十 194
第十一章 UNIX操作系统实例 197
11.1 UNIX系统概述 197
11.1.1 UNIX系统的发展 197
11.1.2 UNIX系统的特性 197
11.1.3 UNIX系统核心的结构 198
11.2 进程管理 200
11.2.1 进程的定义和组成 200
11.2.2 进程运行环境 202
11.2.3 进程状态 204
11.3 进程的控制与调度 204
11.3.1 进程控制 205
11.3.2 进程调度 207
11.3.3 进程切换 208
11.4 进程的同步与通信 209
11.4.1 信号 209
11.4.2 管道 210
11.4.3 消息 212
11.4.4 共享存储器 215
11.4.5 信号量 217
11.5 存储器管理 219
11.5.1 页表 219
11.5.2 磁盘块描述表(Disk Block Descriptor) 220
11.5.3 页框数据表 220
11.5.4 对换使用表 221
11.6 文件管理 221
11.6.1 UNIX文件系统的主要结构及实现 221
11.6.2 存储器空闲块的管理 228
11.6.3 UNIX文件系统调用 229
11.7 目录管理 233
11.7.1 对目录管理应包括的功能 233
11.7.2 构造目录和删除目录 235
第十二章 Windows操作系统实例 237
12.1 Windows 2000的体系结构 237
12.1.1 Windows 2000操作系统简介 237
12.1.2 Windows 2000的体系结构 237
12.1.3 用户态 238
12.1.4 核心态 238
12.2 Windows 2000的处理器调度 239
12.2.1 调度特征 239
12.2.2 数据结构 240
12.2.3 调度策略 241
12.3 Windows 2000/XP的存储管理 243
12.3.1 内存管理 243
12.3.2 外存管理 247
12.4 Windows 2000/XP的文件管理 249
12.4.1 本地FSD 250
12.4.2 远程FSD 250
12.4.3 文件系统操作 251
12.4.4 NTFS文件系统 251
12.4.5 NTFS磁盘结构 253
12.5 Windows 2000/XP的I/O管理 253
12.5.1 系统结构 254
12.5.2 数据结构 255
12.5.3 I/O处理 255