目录 1
第1章 操作系统概述 1
1.1 操作系统的基本概念 1
1.2 操作系统的基本功能 2
1.3 操作系统的类型 6
1.4 操作系统的基本特征 10
1.5 操作系统的结构 11
1.6 研究操作系统的几种观点 13
1.7 操作系统的发展历程 15
1.8 典型操作系统简介 17
1.9 本章小结 21
习题 22
第2章 用户接口 23
2.1 作业 23
2.1.1 作业的概念 23
2.1.2 作业控制块 24
2.1.3 作业的状态及其转换 25
2.2.1 联机用户接口 26
2.2 命令接口 26
2.2.2 脱机用户接口 28
2.3 编程接口 28
2.3.1 系统调用的类型 29
2.3.2 系统调用的实现 29
2.4 图形接口 30
2.4.1 窗口 31
2.4.2 图标 32
2.4.3 菜单 33
2.4.4 对话框 33
2.5 Linux的用户接口 34
2.5.1 Linux命令接口 34
2.5.2 Linux编程接口 35
2.5.3 Linux图形接口 35
2.6 本章小结 37
习题 38
3.1.1 程序的顺序与并发执行 39
3.1 进程的基本概念 39
第3章 进程管理 39
3.1.2 进程的定义及特征 42
3.2 进程的状态及其转换 43
3.3 进程描述 45
3.3.1 进程的组成 45
3.3.2 进程控制块 46
3.4 进程控制 49
3.4.1 进程空间 49
3.4.2 进程控制原语 50
3.4.3 进程上下文 51
3.5 线程 52
3.5.1 线程的基本概念及分类 52
3.5.2 线程的状态及转换 53
3.5.3 线程的应用 54
3.6 Linux的进程模型 55
3.6.1 Linux的进程控制块 55
3.6.2 Linux进程的创建和撤销 57
3.6.3 Linux进程的状态及其转换 58
3.7 Linux系统的线程机制 59
3.8 本章小结 60
习题 61
第4章 处理机管理 62
4.1 分级调度 62
4.1.1 作业调度 62
4.1.2 交换调度 63
4.1.3 进程调度 63
4.2.1 先来先服务调度算法 65
4.1.4 线程调度 65
4.2 调度算法 65
4.2.2 优先级调度算法 66
4.2.3 轮转调度算法 67
4.2.4 分级轮转调度算法 68
4.2.5 分级反馈轮转调度算法 69
4.2.6 最短作业优先算法 70
4.2.7 响应比高者优先算法 71
4.3 实时调度算法 72
4.4 选择调度方式和评价调度算法的若干准则 73
4.5 Linux的进程调度 75
4.5.1 调度的时机 75
4.5.2 调度算法 76
4.6 本章小结 78
习题 78
第5章 存储管理 80
5.1 存储管理的功能 80
5.1.1 内存的分配与回收 80
5.1.2 地址转换 81
5.1.3 内存信息的共享与保护 82
5.1.4 内存的扩充 83
5.2 覆盖和交换技术 83
5.2.1 覆盖技术 84
5.2.2 交换技术 85
5.3 分区存储管理 85
5.3.1 单分区存储管理 86
5.3.2 多分区存储管理 87
5.3.3 分区存储管理的评价 94
5.4.1 页式存储管理的基本原理和使用的数据结构 95
5.4 页式存储管理 95
5.4.2 静态页式存储管理 97
5.4.3 动态页式存储管理 99
5.4.4 页式管理的优缺点 105
5.5 段式和段页式管理 106
5.5.1 段式存储管理 106
5.5.2 段页式存储管理 110
5.6.1 物理内存的管理 111
5.6 Linux的存储管理 111
5.6.2 进程空间的管理 114
5.6.3 Linux虚存的保护 116
5.7 本章小结 117
习题 118
第6章 设备管理 120
6.1 设备管理概述 120
6.1.1 设备的种类 120
6.1.2 设备管理的功能和任务 121
6.1.3 数据传送控制方式 122
6.2 磁盘的驱动调度 123
6.2.1 磁盘的结构 123
6.2.2 磁盘的驱动调度 125
6.3 中断技术 128
6.3.1 中断及其基本概念 129
6.3.2 中断处理过程 129
6.3.3 中断优先级与多重中断 130
6.4.1 通道的引入 131
6.4 通道技术 131
6.4.2 通道类型 133
6.4.3 通道指令和通道程序 135
6.4.4 通道的工作过程 137
6.5 缓冲技术 138
6.5.1 缓冲的引入 139
6.5.2 缓冲的种类 139
6.5.3 缓冲池的管理 140
6.6.1 设备的独立性 142
6.6 设备分配 142
6.6.3 设备分配策略 143
6.6.2 设备分配的原则 143
6.6.4 设备分配所使用的数据结构和分配算法 144
6.7 虚拟设备 147
6.7.1 虚拟设备的引入 147
6.7.2 虚拟设备的实现 147
6.8.1 I/O控制 151
6.8.2 I/O控制的功能 151
6.8 I/O进程控制 151
6.8.3 I/O控制的实现 152
6.9 设备驱动程序 153
6.9.1 设备驱动程序的功能和特点 153
6.9.2 设备驱动程序的处理过程 154
6.9.3 设备驱动程序的管理 155
6.9.4 Linux的设备驱动程序 156
6.10 Linux的设备管理 157
6.10.1 设备文件的概念 157
6.10.2 相关数据结构 158
6.10.3 中断和异常 160
6.11 本章小结 160
习题 161
第7章 文件管理 163
7.1 文件和文件系统 163
7.1.1 文件 163
7.1.2 文件的分类 164
7.2 文件的逻辑组织 165
7.1.3 文件系统 165
7.2.1 流式文件 166
7.2.2 记录式文件 166
7.2.3 存取方法 168
7.3 文件的物理组织 169
7.3.1 磁带文件的组织 169
7.3.2 磁盘文件的组织 171
7.3.3 记录的成组与分解 175
7.4.1 一级目录结构 177
7.4 文件目录 177
7.4.2 二级目录结构 178
7.4.3 树形目录结构 179
7.4.4 文件目录管理 180
7.5 磁盘存储空间的管理 181
7.5.1 位示图 181
7.5.2 空闲块表 182
7.5.3 空闲块链 182
7.6 磁盘容错技术 184
7.6.1 第一级容错技术 184
7.6.2 第二级容错技术 185
7.6.3 廉价磁盘冗余阵列 186
7.6.4 后备系统 188
7.7 文件的使用 190
7.7.1 文件的操作 190
7.7.2 文件的使用 192
7.8.1 文件的共享 193
7.8 文件的共享、保护和保密 193
7.8.2 文件的保护 195
7.8.3 文件的保密 197
7.9 文件的层次模型 197
7.10 Linux的文件管理 199
7.10.1 虚拟文件系统 199
7.10.2 EXT2文件系统 204
7.11 本章小结 206
习题 207
第8章 进程的互斥、同步、通信与死锁 209
8.1 进程互斥 209
8.1.1 临界区与进程互斥 210
8.1.2 互斥的加锁实现 212
8.1.3 信号量和P、V原语 213
8.1.4 利用P、V原语实现进程互斥 215
8.2 进程同步 216
8.3.1 生产者和消费者问题 219
8.3 经典的进程同步问题 219
8.3.2 其他经典的进程同步问题 221
8.4 进程通信 222
8.4.1 进程通信的类型 222
8.4.2 消息传递通信 224
8.5 死锁 226
8.5.1 死锁的基本概念 226
8.5.2 进程死锁的解决方案 228
8.5.3 典型的进程死锁解决方案——银行家算法 229
8.6 Linux中的线程同步 232
8.7 Linux中的进程通信机制 233
8.7.1 管道 233
8.7.2 System V的IPC通信机制 234
8.8 本章小结 238
习题 239
第9章 安全和安全操作系统 242
9.1 计算机安全最重要的三个方面 242
9.1.1 威胁 242
9.2 保证安全的基本措施 243
9.2.1 密码术 243
9.1.3 意外数据丢失 243
9.1.2 入侵者 243
9.2.2 用户认证 245
9.3 对系统的攻击 246
9.3.1 来自系统内的攻击 246
9.3.2 来自系统外的攻击 247
9.4 保护机制 248
9.4.1 保护域 248
9.4.2 访问控制列表 250
9.4.3 权能列表 251
9.5 Linux的安全问题 252
9.5.1 Linux的安全措施 252
9.5.2 Linux的安全漏洞 254
9.6 安全操作系统的概念及发展 254
9.6.1 安全操作系统的概念及重要性 254
9.6.2 安全操作系统的发展 255
9.7 安全操作系统的一般模型及开发方法 256
9.7.1 安全操作系统的一般模型 256
9.7.3 安全操作系统的开发过程 258
9.7.2 安全操作系统的开发方法 258
9.8 操作系统的安全评测 260
9.8.1 操作系统安全评测的基础 260
9.8.2 操作系统安全评测方法 261
9.8.3 国内外计算机系统安全评测准则概况 262
9.9 国内外安全操作系统研究的发展 263
9.10 本章小结 264
习题 265
10.1 计算机系统的分类 266
第10章 并行、网络和分布式操作系统 266
10.2 并行计算机操作系统 267
10.2.1 并行计算机系统 267
10.2.2 多处理机操作系统 268
10.3 计算机网络操作系统 272
10.3.1 计算机网络简介 272
10.3.2 计算机网络体系结构与协议 273
10.3.3 网络操作系统的发展及分类 275
10.3.4 网络操作系统的功能 276
10.3.5 网络操作系统提供的服务 279
10.4 分布式操作系统 280
10.4.1 分布式操作系统的特点 281
10.4.2 分布式操作系统的构成 282
10.4.3 分布式系统的通信 282
10.4.4 分布式操作系统的资源管理 285
10.4.5 分布式进程管理 286
10.4.6 分布式进程的同步、互斥与死锁 287
10.4.7 分布式文件系统 289
10.4.8 集群系统 289
习题 291
10.5 本章小结 291
第11章 多媒体操作系统 293
11.1 多媒体的引入 293
11.2 多媒体文件及视频压缩 295
11.2.1 多媒体文件 295
11.2.2 视频压缩 296
11.3 多媒体处理调度 301
11.3.1 多媒体处理调度常用算法简介 301
11.4 多媒体文件系统 303
11.3.2 调度相同参数的进程 303
11.4.1 VCR控制功能 304
11.4.2 准点播 306
11.4.3 带有VCR功能的准点播 307
11.5 文件在磁盘上的放置 309
11.5.1 单磁盘上文件放置 309
11.5.2 文件的放置策略 310
11.5.3 准点播的文件放置 313
11.5.4 多磁盘上文件的放置 314
11.6.1 块缓存 316
11.6 缓存 316
11.6.2 文件缓存 318
11.7 多媒体磁盘调度 318
11.7.1 静态磁盘调度 318
11.7.2 动态磁盘调度 320
11.8 本章小结 321
习题 322
参考文献 324