第1章 操作系统概述 1
1.1 操作系统的定义 1
1.1.1 计算机系统 1
1.1.2 操作系统的定义和目标 2
1.2 操作系统的形成和发展 4
1.2.1 人工操作阶段 4
1.2.2 批处理 5
1.2.3 多道程序设计与操作系统的形成 7
1.3 操作系统的类型 9
1.3.1 批处理操作系统 9
1.3.2 分时操作系统 11
1.3.3 实时操作系统 12
1.3.4 微机操作系统 13
1.3.5 网络操作系统 15
1.3.6 分布式操作系统 16
1.3.7 嵌入式操作系统 17
1.4 操作系统的功能 17
1.4.1 用户接口 18
1.4.2 文件管理 19
1.4.3 存储管理 20
1.4.4 处理机管理 21
1.4.5 设备管理 22
1.5 操作系统的特性 23
1.5.1 并发性 23
1.5.2 共享性 24
1.5.3 虚拟性 24
1.5.4 异步性 25
1.6 操作系统的结构设计 25
1.6.1 传统的操作系统结构 25
1.6.2 微内核操作系统结构 28
1.7 现代主流操作系统 29
1.7.1 Windows操作系统 30
1.7.2 UNIx操作系统 31
1.7.3 Linux操作系统 32
本章小结 36
习题1 36
第2章 操作系统运行环境及用户界面 39
2.1 操作系统的安装与引导 39
2.1.1 选择操作系统的原则 39
2.1.2 安装操作系统的注意事项 41
2.1.3 操作系统的引导过程 42
2.2 操作系统的运行环境 43
2.2.1 系统工作框架 43
2.2.2 中央处理机(CPU) 44
2.2.3 中断机制 45
2.2.4 I/O技术 46
2.2.5 时钟 46
2.3 用户工作环境 47
2.4 操作系统与用户的接口 47
2.4.1 用户接口的定义 47
2.4.2 用户接口的类型 48
2.5 系统功能调用 49
2.5.1 系统功能调用的定义 50
2.5.2 系统功能调用的类型 50
2.5.3 系统功能调用的实现 50
本章小结 51
习题2 52
第3章 进程管理 54
3.1 程序执行方式 54
3.1.1 程序的顺序执行 54
3.1.2 前趋图 56
3.1.3 程序的并发执行 56
3.2 进程的基本概念 59
3.2.1 进程的定义 59
3.2.2 进程的特征 59
3.2.3 进程与程序的区别 60
3.2.4 进程的状态 61
3.2.5 进程控制块 65
3.3 进程控制 68
3.3.1 进程的创建 69
3.3.2 进程的撤销 70
3.3.3 进程的阻塞与唤醒 71
3.3.4 进程的挂起与激活 72
3.4 进程互斥 73
3.4.1 进程竞争与合作 73
3.4.2 进程互斥的概念 74
3.4.3 信号量机制 77
3.4.4 用信号量机制实现进程互斥 78
3.5 进程同步 80
3.5.1 进程同步的概念 80
3.5.2 用信号量机制实现进程同步 82
3.5.3 经典的进程同步问题 85
3.6 进程通信 90
3.6.1 进程通信的类型 91
3.6.2 消息传递通信机制 91
3.6.3 管道通信机制 96
3.6.4 共享内存通信机制 96
3.7 线程 98
3.7.1 线程的引入 98
3.7.2 线程的基本概念 99
3.7.3 线程的属性与状态 101
3.7.4 线程间的同步与通信 102
3.7.5 线程的实现 103
本章小结 105
习题3 107
第4章 文件管理 112
4.1 文件与文件系统 112
4.1.1 文件的概念 112
4.1.2 文件的类型 114
4.1.3 文件的操作 115
4.1.4 文件系统的概念和功能 116
4.2 文件的逻辑结构 118
4.2.1 文件逻辑结构的类型 118
4.2.2 记录的成组与分解 119
4.2.3 文件的组织和存取 121
4.3 外存分配方式 125
4.3.1 连续分配 125
4.3.2 链接分配 126
4.3.3 索引分配 127
4.3.4 文件分配表FAT 130
4.3.5 文件的存取方式与存储结构之间的关系 133
4.4 文件存储空间的管理 134
4.4.1 文件存储空间的分配方法 134
4.4.2 文件存储空间的管理方法 135
4.5 文件目录管理 138
4.5.1 文件目录的内容 138
4.5.2 文件目录结构 139
4.5.3 目录查询技术 143
4.6 文件共享与保护 144
4.6.1 文件共享 144
4.6.2 文件保护 146
本章小结 148
习题4 149
第5章 存储管理 152
5.1 存储管理概述 152
5.1.1 存储体系 152
5.1.2 逻辑地址与物理地址 154
5.1.3 程序的链接 155
5.1.4 程序的装入 155
5.1.5 内存的共享和保护 158
5.1.6 存储管理方式的分类 159
5.2 连续分配存储管理 160
5.2.1 单一连续分配 160
5.2.2 固定分区分配 161
5.2.3 可变分区分配 162
5.2.4 伙伴系统 167
5.2.5 内存不足的存储管理技术 168
5.3 基本分页存储管理 172
5.3.1 分页存储管理的基本思想 172
5.3.2 地址变换机构 174
5.3.3 两级和多级页表 177
5.4 基本分段存储管理 179
5.4.1 分段存储管理的基本思想 179
5.4.2 信息共享 181
5.4.3 分段和分页的比较 183
5.4.4 段页式存储管理 184
5.5 虚拟存储器的基本概念 186
5.5.1 虚拟存储器的引入 186
5.5.2 虚拟存储器的实现方法 188
5.5.3 虚拟存储器的特征 189
5.6 请求分页存储管理 190
5.6.1 请求分页存储管理的硬件支持 190
5.6.2 页面分配策略 193
5.6.3 页面置换策略 194
5.6.4 页面调入策略 195
5.6.5 页面置换算法 195
5.7 请求分段存储管理 201
5.7.1 请求分段存储管理的硬件支持 202
5.7.2 段的共享与保护 203
本章小结 205
习题5 206
第6章 处理机调度 210
6.1 处理机的多级调度 210
6.1.1 调度的层次 210
6.1.2 调度模型 211
6.2 作业调度 214
6.2.1 作业的状态及其转换 214
6.2.2 作业控制块 215
6.2.3 作业与进程的关系 216
6.2.4 作业调度的功能 216
6.2.5 作业调度的目标与性能衡量 217
6.3 进程调度 219
6.3.1 进程调度的功能 220
6.3.2 进程调度的时机 220
6.3.3 进程调度的方式 221
6.4 常用的调度算法 221
6.4.1 先来先服务调度算法 221
6.4.2 短作业(进程)优先调度算法 222
6.4.3 最短剩余时间优先调度算法 223
6.4.4 高响应比优先调度算法 224
6.4.5 优先级调度算法 225
6.4.6 时间片轮转调度算法 226
6.4.7 多级反馈队列调度算法 228
6.5 实时调度 230
6.5.1 实现实时调度的基本条件 230
6.5.2 实时调度算法的分类 231
6.5.3 常见的儿种实时调度算法 233
本章小结 239
习题6 240
第7章 死锁 243
7.1 死锁的基本概念 243
7.1.1 死锁的定义 243
7.1.2 产生死锁的原因 244
7.1.3 产生死锁的条件 249
7.1.4 处理死锁的基本方法 249
7.2 死锁的预防 250
7.2.1 互斥 250
7.2.2 请求和保持 250
7.2.3 不剥夺 251
7.2.4 环路等待 251
7.3 死锁的避免 252
7.3.1 安全状态与不安全状态 252
7.3.2 利用银行家算法避免死锁 254
7.4 死锁的检测与解除 258
7.4.1 死锁的检测 258
7.4.2 死锁的解除 261
7.5 死锁综合处理 262
本章小结 262
习题7 263
第8章 设备管理 266
8.1 I/O系统概述 266
8.1.1 I/O设备 266
8.1.2 设备控制器 268
8.1.3 I/O通道 269
8.2 I/O控制方式 272
8.2.1 程序I/O控制方式 272
8.2.2 中断驱动I/O控制方式 273
8.2.3 DMA控制方式 274
8.2.4 I/O通道控制方式 276
8.3 缓冲技术 277
8.3.1 缓冲的引入 277
8.3.2 单缓冲和双缓冲 278
8.3.3 循环缓冲 279
8.3.4 缓冲池 281
8.4 设备分配 282
8.4.1 设备分配的数据结构 282
8.4.2 设备分配策略 283
8.4.3 设备独立性 286
8.4.4 独占设备的分配过程 287
8.4.5 SPOOLing技术 289
8.5 I/O软件 291
8.5.1 I/O软件的设计目标和原则 291
8.5.2 中断处理程序 293
8.5.3 设备驱动程序 297
8.5.4 与设备无关的系统软件 299
8.5.5 用户层的I/O软件 300
8.6 磁盘存储器的管理 301
8.6.1 磁盘性能概述 301
8.6.2 磁盘调度 303
8.6.3 提高磁盘I/O速度的方法 309
8.6.4 廉价磁盘冗余阵列(RAID) 312
本章小结 314
习题8 315
第9章 操作系统的安全性 318
9.1 系统安全性概述 318
9.1.1 系统安全性的基本概念 318
9.1.2 系统安全威胁的类型 320
9.1.3 系统安全评测及标准 321
9.2 实现系统安全的策略 324
9.2.1 数据加密技术 324
9.2.2 认证技术 328
9.2.3 访问控制技术 334
9.2.4 计算机病毒 339
本章小结 346
习题9 346
第10章 网络操作系统 348
10.1 计算机网络概述 348
10.1.1 计算机网络的拓扑结构 348
10.1.2 计算机广域网络 351
10.1.3 计算机局域网络 353
10.1.4 网络互联 354
1O.2 网络体系结构 356
10.2.1 网络体系结构的基本概念 356
10.2.2 OSI七层模式 358
10.2.3 TCP/IP网络体系结构 359
10.3 网络操作系统概述 360
10.3.1 网络操作系统的基本概念 361
10.3.2 网络操作系统的类型 361
10.3.3 网络操作系统的特征 363
10.3.4 典型的网络操作系统 364
10.4 网络操作系统的工作模式 366
10.4.1 对等(Peer to Peer)式网络模式 366
10.4.2 文件服务器模式 366
10.4.3 客户机/服务器模式 366
本章小结 368
习题10 368
第11章 分布式操作系统 370
11.1 分布式系统概述 370
11.1.1 分布式系统的定义 370
11.1.2 分布式系统的特点 371
11.1.3 分布式系统的分类 372
11.1.4 分布式系统的拓扑结构 375
11.2 分布式操作系统概述 379
11.2.1 分布式操作系统的定义 379
11.2.2 分布式操作系统的特点 379
11.2.3 经典的分布式操作系统 381
11.3 分布式操作系统功能 382
11.3.1 分布式资源管理 382
11.3.2 分布式进程管理 384
11.3.3 分布式处理机管理 388
11.3.4 分布式文件系统 389
本章小结 391
习题11 391
第12章 嵌入式操作系统 393
12.1 嵌入式系统概述 393
12.1.1 什么是嵌入式系统 393
12.1.2 嵌入式系统的发展 394
12.1.3 嵌入式系统的特点 395
12.1.4 嵌入式系统的组成 395
12.1.5 嵌入式系统的应用领域 398
12.2 嵌入式操作系统的介绍 399
12.2.1 嵌入式操作系统的分类 399
12.2.2 嵌入式操作系统的特点 399
12.2.3 市场上流行的嵌入式操作系统 400
12.3 嵌入式Linux操作系统 402
12.3.1 嵌入式Linux操作系统特点 402
12.3.2 嵌入式Linux主要版本 403
12.4 嵌入式Linux操作系统的移植 404
12.4.1 为什么需要移植 404
12.4.2 Linux内核源代码 405
12.4.3 Linux内核 409
12.4.4 Linux内核配置与编译 411
12.4.5 Linux内核移植 413
本章小结 416
习题12 416
参考文献 418