目录 1
第1章 操作系统概述 1
1.1 操作系统的概念 1
1.1.1 操作系统的地位 1
1.1.2 操作系统的管理目标和主要功能 2
1.1.3 操作系统的定义 2
1.2 操作系统的历史回顾 2
1.2.1 操作系统的产生 3
1.2.2 操作系统的完善 3
1.2.3 操作系统的发展 4
1.3 操作系统的类型 4
1.3.1 多道批处理操作系统 4
1.3.2 分时操作系统 5
1.3.3 实时操作系统 6
1.3.6 分布式操作系统 7
1.3.5 网络操作系统 7
1.3.4 单用户操作系统 7
1.4 操作系统的特征 8
1.4.1 并发性 8
1.4.2 共享性 9
1.4.3 虚拟性 9
1.4.4 异步性 9
1.5 操作系统与用户接口 10
1.5.1 命令接口 10
1.5.2 程序接口 10
1.5.3 图形用户接口 10
1.6 操作系统的结构 11
1.6.1 整体式系统 11
1.6.2 层次式系统 11
1.6.3 虚拟机系统 11
1.7.1 CPU与外设并行工作 12
1.7 操作系统的硬件环境 12
1.6.4 客户—服务器系统 12
1.7.2 I/O中断的作用 13
1.7.3 管态与目态 13
1.7.4 存储结构 13
1.7.5 存储保护 14
综合练习题一 14
第2章 处理器管理 17
2.1 多道程序设计 17
2.1.1 程序的顺序执行 17
2.1.2 程序的并发执行 18
2.1.3 并发程序执行的条件 19
2.2 进程的描述 20
2.2.1 进程的定义 20
2.2.2 进程的特性及与程序的区别 21
2.2.3 进程的基本状态及其转换 22
2.2.4 进程控制块——PCB 23
2.2.5 进程队列 24
2.3 进程控制 25
2.3.1 进程控制机构 25
2.3.2 进程控制原语 25
2.4 进程互斥 26
2.4.1 互斥的定义 26
2.4.2 上锁和开锁原语 27
2.4.3 用上锁和开锁原语实现进程的互斥 27
2.5 信号量机制 28
2.5.1 信号量的概念 28
2.5.2 P、V操作原语 29
2.5.3 用P、V操作原语实现进程的互斥 29
2.6 进程同步 31
2.6.1 同步的定义 31
2.6.2 用P、V操作原语实现进程的同步 32
2.7.1 进程通信的定义 39
2.7.2 发送和接收原语 39
2.7 进程通信 39
2.7.3 消息缓冲通信方式 40
2.7.4 信箱通信方式 41
2.8 死锁问题 43
2.8.1 死锁的定义 43
2.8.2 产生死锁的原因 45
2.8.3 产生死锁的必要条件 45
2.8.4 死锁的预防 45
2.8.5 死锁的避免 46
2.8.6 死锁的检测与解除 50
2.8.7 鸵鸟算法 51
2.9 处理器调度 51
2.9.1 调度算法 51
2.9.2 调度时机 53
2.9.3 调度过程 53
2.10.2 线程与进程的比较 54
2.10.1 线程的定义 54
2.10 线程的概念 54
综合练习题二 55
第3章 存储器管理 59
3.1 存储管理的概念 59
3.1.1 存储系统的分类 59
3.1.2 物理地址和逻辑地址 59
3.1.3 静态重定位和动态重定位 60
3.1.4 存储管理的功能 60
3.1.5 内存扩充技术 61
3.1.6 存储管理的分类 63
3.2 分区存储管理 64
3.2.1 固定分区存储管理 64
3.2.2 可变分区存储管理 66
3.2.3 伙伴系统 70
3.3 页式存储管理 71
3.3.1 实分页式存储管理 71
3.3.2 虚拟页式存储管理 76
3.4 段式存储管理 82
3.4.1 实分段式存储管理 82
3.4.2 虚拟段式存储管理 85
3.5 段页式存储管理 88
综合练习题三 88
第4章 文件管理 92
4.1 文件系统概述 92
4.1.1 基本概念 93
4.1.2 文件分类 94
4.1.3 文件的逻辑结构及文件的存取方式 95
4.1.4 文件操作 98
4.2 文件目录 99
4.2.1 目录内容 100
4.2.2 目录结构 100
4.2.3 目录检索技术 104
4.2.4 目录操作 105
4.3.1 文件的实现 106
4.3 文件系统的实现 106
4.3.2 目录的实现 110
4.3.3 文件共享的实现 111
4.3.4 磁盘空间管理 113
4.3.5 文件系统的一致性 117
综合练习题四 120
第5章 操作系统安全性 124
5.1 安全性概述 124
5.2 影响系统安全性的因素 125
5.3 实现系统安全性的基本技术 126
5.3.1 认证机制 126
5.3.2 授权机制 131
5.3.3 备份、转储与恢复机制 134
5.3.4 加密机制 136
5.3.5 审计机制 141
5.3.6 防火墙机制 141
5.3.7 反病毒机制 145
5.4 安全性的设计原则 146
5.5 职业道德教育与法制建设 147
综合练习题五 148
第6章 设备管理 150
6.1 设备管理概述 150
6.1.1 设备的分类 150
6.1.2 设备管理的目标 151
6.1.3 设备管理的功能 151
6.1.4 设备管理结构 152
6.1.5 设备控制器和I/O通道 152
6.2 I/O控制方式 152
6.2.1 程序直接控制方式 153
6.2.2 中断控制方式 153
6.2.3 DMA控制方式 153
6.2.4 通道控制方式 154
6.3.1 中断的基本概念 156
6.3 中断技术 156
6.3.2 中断分类与优先级 157
6.3.3 中断处理过程 157
6.4. 缓冲技术 158
6.4.1 缓冲技术的基本思想 158
6.4.2 缓冲分类 159
6.5.1 设备分配的数据结构 161
6.5.2 设备分配策略 161
6.5 设备分配及设备的处理程序 161
6.5.3 设备处理程序 163
6.6 SPOOLing系统 164
6.7 磁盘设备管理 166
6.7.1 磁盘结构 166
6.7.2 磁盘的访问时间 168
6.7.3 磁盘调度算法 169
6.7.4 磁盘缓存置换算法 172
综合练习题六 173
6.7.5 提高磁盘输入/输出速度的方法 173
7.1 Windows 2000/XP的体系结构 176
第7章 Windows 2000/XP操作系统 176
7.1.1 核心态操作系统组件 177
7.1.2 用户进程 179
7.1.3 Windows 2000/XP的对象模型 181
7.2 Windows 2000/XP的处理器管理 182
7.2.1 Windows 2000/XP中进程的实现 183
7.2.2 Windows 2000/XP中线程的实现 184
7.2.3 Windows 2000/XP中线程调度 186
7.2.4 Windows 2000/XP的同步与互斥机制 189
7.3 Windows 2000/XP的内存管理 190
7.3.1 地址转换机制 190
7.3.2 Windows 2000/XP的内存分配 192
7.3.3 页面调度策略 195
7.3.4 物理内存管理 196
7.4.2 NTFS的卷和簇 197
7.4 Windows 2000/XP的文件系统 197
7.4.1 Windows 2000/XP文件系统概述 197
7.4.3 主控文件表 198
7.4.4 NTFS的文件实现机制 199
7.4.5 NTFS的目录实现机制 200
7.4.6 NTFS可恢复性支持 201
7.4.7 NTFS安全性支持 202
7.5 Windows 2000/XP的I/O系统 203
7.5.1 Windows 2000/XP I/O系统结构和组件 203
7.5.2 Windows 2000/XP I/O系统的数据结构 204
7.5.3 Windows 2000/XP的设备驱动程序 206
综合练习题七 208
第8章 Linux系统内核结构 209
8.1 Linux操作系统概述 209
8.1.1 Linux的起源和历史 209
8.1.2 Linux的特点 209
8.1.3 Linux的基本结构 211
8.2 Linux用户接口及使用 212
8.2.1 Linux用户接口 212
8.1.4 Linux的源代码分布 212
8.2.2 Linux使用操作简介 214
8.3 Linux进程管理 217
8.3.1 Linux的进程 217
8.3.2 Linux的进程控制块 218
8.3.3 Linux的进程状态 220
8.3.4 Linux的进程调度 222
8.3.5 Linux的进程间通信与同步 223
8.4 Linux虚拟内存管理 232
8.4.1 Linux虚拟内存管理概述 232
8.4.2 Linux进程的虚拟地址空间 233
8.4.3 Linux物理内存空间的管理 235
8.4.4 用户态内存的申请与释放 236
8.4.6 交换空间、页面换入和换出 237
8.4.5 内存的共享和保护 237
8.4.7 缓冲机制 239
8.5 Linux文件管理 240
8.5.1 Linux文件系统概述 240
8.5.2 Linux文件系统安装 240
8.5.3 Linux虚拟文件系统 242
8.5.4 Linux文件系统的缓冲机制 246
8.5.5 Linux的主要文件操作 248
8.5.6 Linux的EXT2及EXT3文件系统 251
8.6 Linux设备管理 254
8.6.1 Linux设备管理概述 254
8.6.2 Linux硬盘管理 255
8.6.3 Linux网络设备 256
8.6.4 Linux设备驱动程序 257
综合练习题八 257
模拟试题1 259
附录1 模拟试题 259
模拟试题2 262
附录2 操作系统实验 265
附2.1 使用级实验 265
实验1 安装Linux操作系统 265
实验2 安装Windows 2000操作系统 266
实验3 Linux系统的用户接口和编程界面实验 266
附2.2 系统行为观察级实验 267
实验4 观察Linux进程的异步并发执行 267
实验5 Linux进程间的通信 267
实验6 观察内存分配结果 267
实验7 观察内存使用情况 268
附2.3 系统管理级实验 268
实验8 在Linux中使用优盘 268
实验9 使用Windows 2000的注册表屏蔽桌面上的“回收站” 268
实验11 跟踪系统查找文件过程 269
实验10 分析Linux进程调度程序 269
附2.4 源代码阅读级实验 269
附2.5 实现级实验 270
实验12 进程调度模拟程序设计 270
实验13 页面置换模拟程序设计 270
实验14 文件系统模拟设计 271
附录3 习题参考答案与提示 273
综合练习题一 273
综合练习题二 274
综合练习题三 278
综合练习题四 281
综合练习题五 284
综合练习题六 285
综合练习题七 287
综合练习题八 288
模拟试题1 289
模拟试题2 290
参考文献 293