第 1章
操作系统概述 1
1.1 计算机系统 1
1.1.1 硬件与软件 1
1.1.2 操作系统的形成 2
1.1.3 操作系统发展的动力 3
1.2 操作系统的定义与功能 4
1.2.1 操作系统的定义 4
1.2.2 操作系统的功能 4
1.3 操作系统的种类 6
1.3.1 批处理操作系统 6
1.3.2 分时操作系统 7
1.3.3 实时操作系统 8
1.3.4 网络操作系统 9
1.3.5 分布式操作系统 10
1.3.6 嵌入式操作系统 10
习题 11
第 2章
处理器管理 13
2.1 进程 13
2.1.1 多道程序设计 13
2.1.2 进程的定义 15
2.1.3 进程的特征 17
2.1.4 进程的状态及状态变迁 18
2.2 进程控制块 21
2.2.1 进程的3个组成部分 21
2.2.2 进程控制块 21
2.2.3 进程控制块队列 23
2.3 进程的调度与管理 24
2.3.1 进程调度算法 24
2.3.2 进程管理的基本原语 30
2.4 线程 32
2.4.1 线程的概念 32
2.4.2 线程的实现 34
2.4.3 线程与进程的关系 36
2.5 作业调度 38
2.5.1 用户与操作系统的两种接口 38
2.5.2 作业与作业管理 41
2.5.3 作业的调度算法 42
习题48
第3章
存储管理 52
3.1 存储管理综述 52
3.1.1 存储器的层次结构 52
3.1.2 高速缓冲存储器的工作原理 53
3.1.3 存储管理的功能 54
3.2 固定分区存储管理 54
3.2.1 地址重定位 54
3.2.2 地址的定位方式和静态重定位 56
3.2.3 单一连续分区存储管理 57
3.2.4 固定分区存储管理 59
3.3 可变分区存储管理 62
3.3.1 可变分区存储管理的基本思想 62
3.3.2 地址动态重定位的过程 64
3.3.3 空闲区的合并 65
3.3.4 分区的管理与组织方式 66
3.3.5 空闲分区的分配算法 70
3.3.6 伙伴系统 72
3.4 分页式存储管理 73
3.4.1 分页式存储管理的基本思想 73
3.4.2 分页式存储管理的地址转换 75
3.4.3 内存块的分配与回收 80
3.5 分段式存储管理 81
3.5.1 分段及二维逻辑地址空间 81
3.5.2 段表及地址变换过程 83
3.5.3 存储保护与共享 84
3.5.4 分段与分页的区别 85
3.6 虚拟存储与请求分页式存储管理 86
3.6.1 虚拟存储器的概念 86
3.6.2 请求分页式存储管理的基本思想 87
3.6.3 缺页中断的处理 88
3.6.4 页面淘汰算法 92
习题 99
第4章
设备管理 102
4.1 设备管理概述 102
4.1.1 I/O系统的组织结构 102
4.1.2 计算机设备的分类 105
4.1.3 设备管理的目标与功能 108
4.2 输入/输出的处理步骤 108
4.2.1 I/O请求的提出 109
4.2.2 对I/O请求的管理 109
4.2.3 I/O请求的具体实现 110
4.3 设备的分配与调度算法 110
4.3.1 管理设备时的数据结构 110
4.3.2 独享设备的分配 113
4.3.3 共享磁盘的调度 115
4.4 数据传输的方式 119
4.4.1 程序循环测试方式 119
4.4.2 中断方式 120
4.4.3 直接存储器存取方式 121
4.4.4 通道方式 122
4.5 设备管理中的若干技术 123
4.5.1 I/O缓冲技术 123
4.5.2 虚拟设备与SPOOLing技术 125
习题 126
第5章
文件管理 129
5.1 文件的结构 129
5.1.1 文件与文件系统 129
5.1.2 文件的逻辑结构 132
5.1.3 文件的物理结构 133
5.1.4 文件的存取 135
5.2 磁盘存储空间的管理 136
5.2.1 位示图 136
5.2.2 空闲区表 138
5.2.3 空闲块链 138
5.3 文件管理与目录结构 139
5.3.1 文件控制块与目录 140
5.3.2 目录的层次结构 141
5.3.3 “按名存取”的实现 143
5.4 文件的使用 145
5.4.1 文件的共享 145
5.4.2 文件的保护 146
5.4.3 文件的备份 147
5.4.4 文件的操作 149
习题 150
第6章
进程间的制约关系 153
6.1 进程间的制约关系 153
6.1.1 与时间有关的错误 153
6.1.2 竞争资源——互斥 156
6.1.3 协同工作——同步 157
6.2 信号量与P、V操作 159
6.2.1 信号量与P、V操作的定义 159
6.2.2 用P、V操作实现互斥 159
6.2.3 用P、V操作实现同步 162
6.2.4 用P、V操作实现资源分配 164
6.2.5 互斥/同步的案例分析 165
6.3 死锁、高级进程通信 169
6.3.1 死锁与产生死锁的必要条件 169
6.3.2 死锁的预防 171
6.3.3 死锁的避免 172
6.3.4 死锁的检测并恢复 175
6.3.5 高级进程通信 177
习题 179
第7章
实例分析:Windows XP
操作系统 184
7.1 Windows XP的处理器
管理 184
7.1.1 Windows XP的结构 184
7.1.2 Windows XP的进程和线程 188
7.1.3 Windows XP的线程调度 190
7.1.4 Windows XP的同步机制 194
7.2 Windows XP的存储管理 195
7.2.1 Windows XP进程的空间布局 195
7.2.2 Windows XP的地址变换机构 196
7.2.3 Windows XP对内存的管理 199
7.2.4 Windows XP的页面调度 202
7.3 Windows XP的设备管理 203
7.3.1 Windows XP设备管理综述 203
7.3.2 Windows XP的I/O处理 205
7.3.3 Windows XP两级中断处理过程 208
7.4 Windows XP的文件管理 209
7.4.1 Windows XP文件系统综述 209
7.4.2 Windows XP的NTFS文件系统 213
7.4.3 NTFS的主文件表 214
7.4.4 NTFS的文件和目录结构 217
7.4.5 NTFS对可恢复性的支持 217
习题 220
第8章
实例分析: Linux操作
系统 223
8.1 Linux的处理机管理 223
8.1.1 Linux的进程 223
8.1.2 Linux的进程调度 226
8.1.3 Linux进程间的通信——消息队列 228
8.2 Linux的存储管理 230
8.2.1 Linux的虚拟存储空间 230
8.2.2 管理虚拟存储空间的数据结构 232
8.2.3 管理内存空间的数据结构 233
8.2.4 内存区的分配和页面淘汰策略 234
8.3 Linux的文件管理 234
8.3.1 Linux文件系统的构成 235
8.3.2 Ext2对磁盘的组织 235
8.3.3 Ext2文件的物理结构 238
8.3.4 虚拟文件系统VFS的数据结构 240
8.4 Linux的设备管理 242
8.4.1 Linux设备管理概述 242
8.4.2 Linux对字符设备的管理 243
8.4.3 Linux对块设备的管理 244
习题 246
参考文献