第1章 操作系统概述 1
1.1 操作系统的定义与功能 1
1.1.1 操作系统的形成 1
1.1.2 操作系统的定义 5
1.1.3 操作系统的功能 7
1.2 操作系统的分类 11
1.2.1 单用户操作系统 11
1.2.2 多道批处理系统 12
1.2.3 分时操作系统 15
1.2.4 实时操作系统 17
1.2.5 网络操作系统 18
1.2.6 分布式操作系统 19
1.3 操作系统的特征和性能指标 20
1.3.1 操作系统的特征 20
1.3.2 操作系统的性能指标 22
1.4 操作系统的接口 23
1.4.1 操作系统用户接口概述 23
1.4.2 操作系统的三种接口 23
练习题 27
第2章 常用操作系统概述 29
2.1 Windows操作系统 29
2.1.1 Windows的基本概念 29
2.1.2 Windows的版本 30
2.1.3 Windows的体系结构 32
2.2 Linux操作系统 33
2.2.1 Linux的基本概念 33
2.2.2 Linux的版本 34
2.2.3 Linux的体系结构 35
练习题 36
第3章 处理机管理 37
3.1 进程的引入 37
3.1.1 程序的顺序执行 37
3.1.2 多道程序设计的引入 38
3.1.3 程序的并发执行 39
3.2 进程 39
3.2.1 进程的定义 39
3.2.2 进程的特征 40
3.2.3 进程的基本状态 41
3.2.4 进程的三个组成部分 43
3.2.5 进程控制块 44
3.3 进程的调度与管理 45
3.3.1 进程控制块队列 45
3.3.2 进程的调度 46
3.3.3 进程的管理 53
3.4 作业调度 55
3.4.1 作业与作业管理 55
3.4.2 作业的调度算法 57
3.5 Windows的进程及其调度 61
3.5.1 Windows的进程和线程 61
3.5.2 Windows Server 2008的线程调度 65
3.6 Linux的进程及其调度 71
3.6.1 Linux的进程 71
3.6.2 Linux的进程调度 74
练习题 76
第4章 进程间的制约关系 79
4.1 进程间的制约关系 79
4.1.1 进程同步 80
4.1.2 进程互斥 82
4.2 信号量机制 82
4.2.1 信号量机制简介 82
4.2.2 进程制约关系的实现 83
4.2.3 资源分配与信号量 86
4.2.4 样例分析 87
4.3 死锁 93
4.3.1 死锁的基本概念 93
4.3.2 死锁的预防 94
4.3.3 死锁的避免 95
4.3.4 死锁的检测与解除 98
4.4 高级进程通信 99
4.4.1 共享存储器机制 100
4.4.2 消息传递机制 100
4.4.3 管道通信机制 103
4.5 Windows中的进程通信 103
4.5.1 微软标准进程间通信技术的发展 103
4.5.2 Windows Server 2008的通信技术 104
4.6 Linux中的进程通信 108
练习题 110
第5章 存储管理 114
5.1 存储管理概述 114
5.1.1 存储管理的功能 114
5.1.2 存储管理的方式 116
5.1.3 地址重定位 116
5.2 固定分区存储管理 118
5.2.1 单一连续分区存储管理 119
5.2.2 固定分区存储管理 121
5.3 可变分区存储管理 123
5.3.1 基本思想 123
5.3.2 内存空间的分配与回收 124
5.3.3 地址重定位与存储保护 129
5.3.4 管理特点 129
5.4 页式存储管理 129
5.4.1 基本思想 130
5.4.2 内存空间的分配与回收 130
5.4.3 地址重定位与存储保护 132
5.4.4 管理特点 137
5.5 段式和段页式存储管理 138
5.5.1 段式存储管理 138
5.5.2 段页式存储管理 140
5.6 请求分页式存储管理 142
5.6.1 虚拟存储器 142
5.6.2 请求分页式存储管理的基本思想 142
5.6.3 缺页中断 143
5.6.4 页面淘汰算法 145
5.6.5 管理特点 148
5.7 Windows中的存储管理 148
5.7.1 Windows Server 2008的地址重定位 148
5.7.2 Windows Server 2008的内存管理 150
5.8 Linux中的存储管理 152
5.8.1 Linux操作系统中的虚拟存储空间 152
5.8.2 Linux的页面调度策略 152
5.8.3 Linux的交换文件和交换分区 153
练习题 155
第6章 设备管理 158
6.1 设备管理概述 158
6.1.1 设备分类 158
6.1.2 设备管理的目标与功能 162
6.1.3 I/O设备所需的资源 163
6.1.4 设备处理程序 164
6.2 输入/输出的处理步骤 165
6.2.1 I/O请求的提出 165
6.2.2 对I/O请求的管理 166
6.2.3 I/O请求的具体实现 166
6.3 设备分配与调度 167
6.3.1 管理设备时的数据结构 167
6.3.2 设备分配策略 170
6.3.3 设备分配步骤 172
6.3.4 独享设备的分配 172
6.3.5 共享磁盘调度 174
6.4 数据传输方式 178
6.4.1 设备控制器 178
6.4.2 程序直接控制方式 179
6.4.3 中断方式 180
6.4.4 直接存储器存取(DMA)方式 181
6.4.5 通道方式 182
6.5 设备管理技术 184
6.5.1 I/O缓冲技术 184
6.5.2 虚拟设备与SPOOLing技术 185
6.6 Windows中的设备管理 187
6.6.1 Windows Server2008设备管理综述 187
6.6.2 Windows Server 2008单层驱动程序的I/O处理 190
6.6.3 Windows Server 2008两级中断处理过程 191
6.7 Linux中的设备管理 193
6.7.1 Linux设备管理概述 194
6.7.2 Linux对字符设备的管理 195
6.7.3 Linux对块设备的管理 196
练习题 198
第7章 文件管理 201
7.1 文件管理的基本概念 201
7.1.1 文件 201
7.1.2 文件系统 203
7.2 文件的结构与文件目录 204
7.2.1 文件的逻辑结构 204
7.2.2 文件的物理结构 205
7.2.3 文件的存取 207
7.2.4 文件目录 207
7.3 文件存储空间的管理 210
7.3.1 位示图 211
7.3.2 空闲区表 211
7.3.3 空闲块链 211
7.3.4 成组链接法 212
7.4 文件的使用 213
7.4.1 文件的操作 213
7.4.2 文件的共享 214
7.4.3 文件的保护 215
7.4.4 按名存取的实现 216
7.5 Windows中的文件管理 217
7.5.1 Windows文件管理概述 217
7.5.2 Windows文件管理的实现技术 219
7.6 Linux中的文件管理 223
7.6.1 Linux文件管理概述 223
7.6.2 Linux文件管理的实现技术 223
练习题 227
参考文献 230