第一部分 原理篇 3
第1章 操作系统引论 3
1.1 操作系统的概念 3
1.1.1 操作系统的地位和作用 3
1.1.2 操作系统定义 4
1.2 操作系统的发展过程 4
1.2.1 手工操作方式 4
1.2.2 脱机输入输出技术 5
1.2.3 批处理系统 5
1.2.4 分时系统 7
1.2.5 实时系统 8
1.2.6 网络操作系统 9
1.2.7 嵌入式操作系统 9
1.3 操作系统的基本特征 10
1.4 操作系统的主要功能 11
1.5 操作系统的结构设计 12
1.5.1 操作系统的设计目标 13
1.5.2 操作系统的结构 13
1.6 实例分析 15
本章小结 16
习题 18
第2章 进程管理 19
2.1 进程的概念 19
2.1.1 程序的顺序执行及其特征 19
2.1.2 程序的并发执行及其特征 20
2.1.3 进程的定义及其特征 21
2.1.4 进程与程序的区别 22
2.2 进程描述 23
2.2.1 进程控制块 23
2.2.2 进程控制块的组织方式 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 进程的挂起与激活 28
2.4.4 线程的概念及实现 29
2.5 进程同步 30
2.5.1 同步概念 30
2.5.2 信号量机制 31
2.5.3 经典的进程同步问题 34
2.5.4 管程 36
2.6 进程通信 37
2.7 实例分析 38
本章小结 41
习题 42
第3章 中断与处理机调度 44
3.1 中断技术 44
3.1.1 中断及其相关概念 44
3.1.2 中断处理过程 45
3.1.3 核心态和用户态 45
3.2 处理机调度 46
3.2.1 三级调度及其模型 46
3.2.2 常用调度算法 47
3.2.3 实时调度 52
3.3 实例分析 54
本章小结 55
习题 56
第4章 死锁 57
4.1 死锁的概念 57
4.2 死锁产生的原因和必要条件 57
4.3 死锁问题的解决方法 59
4.3.1 死锁的预防 59
4.3.2 死锁的避免 60
4.3.3 死锁的检测 64
4.3.4 死锁的解除 65
4.4 实例分析 65
本章小结 68
习题 69
第5章 存储器管理 70
5.1 基本概念 70
5.2 连续分配方式 72
5.2.1 单一连续分配方式 72
5.2.2 固定分区分配方式 73
5.2.3 动态分区分配方式 74
5.2.4 可重定位分区分配方式 74
5.2.5 分区分配和回收算法 75
5.3 分页存储系统 78
5.3.1 分页基本原理 79
5.3.2 地址变换机构 80
5.3.3 快表与多级页表 81
5.4 分段存储管理方式 82
5.4.1 分段管理机制的引入 82
5.4.2 分段基本原理 82
5.4.3 分段的共享和保护 83
5.4.4 分段与分页的区别 85
5.5 段页式存储管理方式 85
5.6 虚拟存储器 85
5.6.1 虚拟存储器的概念 86
5.6.2 请求分页管理方式 87
5.6.3 页面置换算法 88
5.6.4 请求分段存储管理方式 91
5.7 实例分析 92
本章小结 94
习题 95
第6章 设备管理 97
6.1 I/O系统的组成 97
6.1.1 微小型机采用的总线型结构 97
6.1.2 大型机采用的主机和通道的结构 98
6.2 I/O控制方式 99
6.2.1 程序控制I/O方式 99
6.2.2 中断方式 101
6.2.3 DMA方式 102
6.2.4 通道方式 104
6.3 I/O设备的类型 106
6.4 缓冲管理 107
6.4.1 单缓冲 108
6.4.2 双缓冲 108
6.4.3 循环缓冲 108
6.4.4 缓冲池 108
6.5 设备的分配 111
6.5.1 设备分配需要的数据结构 111
6.5.2 设备分配原则 112
6.5.3 设备分配通用算法 113
6.5.4 SPOOLing系统 113
6.6 设备处理 115
6.6.1 设备驱动程序的功能 115
6.6.2 设备驱动程序的特点 115
6.6.3 设备处理过程 116
6.6.4 设备处理方式 117
6.6.5 磁盘调度算法 117
6.7 实例分析 120
本章小结 122
习题 123
第7章 文件管理 124
7.1 文件和文件系统 124
7.1.1 文件的概念 124
7.1.2 文件的分类 125
7.1.3 文件系统的概念 126
7.1.4 文件系统的层次模型 126
7.1.5 文件系统的功能 127
7.2 文件的组织结构与存取方式 128
7.2.1 文件的逻辑结构和存取方式 128
7.2.2 文件的物理结构及存储介质 130
7.2.3 文件记录的成组与分解 134
7.3 文件目录管理 135
7.3.1 一级文件目录 136
7.3.2 二级文件目录 136
7.3.3 多级文件目录 137
7.4 文件存储空间的管理 138
7.4.1 空闲块表法 139
7.4.2 空闲块链法 139
7.4.3 位示图法 140
7.5 文件的共享 142
7.5.1 早期文件系统实现共享的方法 142
7.5.2 现代文件系统实现共享的方法 143
7.6 文件的保护和保密 145
7.6.1 文件的保护 145
7.6.2 文件的保密 148
7.7 文件操作 148
7.8 实例分析 150
本章小结 151
习题 151
第8章 操作系统安全概述 152
8.1 安全性目标和威胁 152
8.1.1 安全性目标 152
8.1.2 威胁的类型 153
8.2 安全机制 153
8.2.1 数据加密机制 153
8.2.2 数字证书 156
8.2.3 身份认证机制 157
8.2.4 审计机制 157
8.3 硬件保护机制 158
8.3.1 存储保护机制 158
8.3.2 运行保护机制 158
8.4 访问控制机制 159
8.5 安全评价标准 162
8.6 实例分析 163
本章小结 164
习题 164
第二部分 实践篇 169
第9章 Linux操作系统案例分析 169
9.1 Linux概述与基本操作 169
9.1.1 Linux操作系统简介 169
9.1.2 Linux用户接口 170
9.1.3 Linux文件系统 172
9.1.4 Linux文本编辑器与编译器 174
9.2 Linux进程及命令管理 176
9.2.1 Linux系统中的进程 176
9.2.2 Linux进程管理命令 178
9.2.3 Linux守护进程 180
9.3 Linux系统调用及编程实例 181
9.3.1 进程管理的API实例分析 181
9.3.2 进程通信的API实例分析 186
9.3.3 内存管理的API实例分析 190
9.3.4 文件管理的API实例分析 193
本章小结 195
习题 195
第10章 Windows 2000/XP操作系统案例分析 197
10.1 Windows 2000/XP操作系统简介 197
10.2 Windows 2000/XP体系结构 197
10.3 Windows 2000/XP线程调度 198
10.4 Windows 2000/XP虚拟存储管理 200
10.5 Windows 2000/XP文件系统 201
10.6 Windows 2000/XP I/O设备管理 204
10.7 Windows 2000/XP实例分析 206
10.7.1 GUI应用程序 206
10.7.2 进程对象 207
10.7.3 进程创建 208
10.7.4 虚拟内存机制 210
10.7.5 文件输入输出 211
本章小结 214
习题 214
第11章 操作系统算法模拟实例 215
11.1 单处理机系统进程调度 215
11.2 避免死锁的银行家算法 219
11.3 存储器分配与回收 227
11.4 页面置换算法 232
11.5 简单文件系统的设计 236
11.6 SPOOLing系统模拟设计 239
本章小结 244
习题 244
参考文献 246