第1章 绪论 1
1.1 操作系统的概念 1
1.1.1 计算机体系结构 1
1.1.2 操作系统的定义 3
1.2 操作系统的发展过程 4
1.2.1 操作系统的形成和发展 4
1.2.2 手工操作 5
1.2.3 批处理系统 6
1.2.4 分时系统 7
1.2.5 实时系统 8
1.2.6 通用操作系统 9
1.2.7 网络操作系统 9
1.2.8 分布式操作系统 10
1.2.9 嵌入式系统 11
1.3 操作系统的功能和特征 11
1.3.1 操作系统的功能 11
1.3.2 操作系统的特征 12
1.4 操作系统的运行环境 13
1.4.1 操作系统的结构 13
1.4.2 处理机的执行状态 15
1.4.3 中断及其处理 15
1.5 操作系统用户接口 17
1.5.1 命令接口 17
1.5.2 程序接口 18
1.5.3 图形接口 19
1.6 现代主流操作系统 19
1.6.1 UNIX操作系统 19
1.6.2 Linux操作系统 20
1.6.3 Windows系统 20
习题 21
第2章 进程管理 22
2.1 CPU管理 22
2.1.1 CPU管理的功能 22
2.1.2 程序的执行 23
2.2 进程的概念 26
2.2.1 进程的定义 26
2.2.2 进程的特征 26
2.3 进程的状态 27
2.3.1 进程的基本状态 27
2.3.2 进程的状态转换 27
2.3.3 进程的挂起状态 28
2.4 进程的描述 29
2.4.1 进程结构 29
2.4.2 进程控制块 30
2.5 进程的组织 30
2.6 进程的控制 32
2.6.1 操作系统内核 32
2.6.2 进程控制原语 33
2.7 线程 35
2.7.1 线程的引入 35
2.7.2 线程的类型 37
习题 38
第3章 进程同步 40
3.1 基本概念 40
3.1.1 进程的制约关系 40
3.1.2 进程互斥与同步 40
3.2 同步机制 42
3.2.1 软件方法 43
3.2.2 硬件方法 45
3.3 信号量方法 46
3.3.1 信号量机制 47
3.3.2 信号量的分类 47
3.3.3 互斥与同步的实现 50
3.4 经典的同步问题 52
3.4.1 生产者-消费者问题 52
3.4.2 读者-写者问题 54
3.4.3 哲学家进餐问题 56
3.5 管程 58
3.5.1 管程的概念 58
3.5.2 条件变量 59
3.5.3 管程的应用 59
3.6 进程通信 61
3.6.1 共享存储器系统 61
3.6.2 消息传递系统 61
3.6.3 管道通信系统 63
习题 64
第4章 调度与死锁 66
4.1 CPU调度 66
4.2 进程调度 68
4.3 调度性能衡量 69
4.4 调度算法 70
4.4.1 先来先服务 70
4.4.2 短者优先 71
4.4.3 高响应比优先 71
4.4.4 优先权高者优先 72
4.4.5 时间片轮转 73
4.4.6 多级反馈队列 74
4.5 死锁 75
4.5.1 死锁的基本概念 75
4.5.2 产生死锁的原因 76
4.5.3 产生死锁的必要条件 77
4.5.4 处理死锁的基本方法 77
4.5.5 死锁的预防 78
4.5.6 死锁避免 78
4.5.7 死锁检测与解除 82
习题 84
第5章 存储器管理 87
5.1 存储器管理概述 87
5.1.1 存储体系 87
5.1.2 存储管理功能 88
5.1.3 地址变换 89
5.1.4 存储管理方式 91
5.2 单一连续分配管理 91
5.3 分区存储管理 93
5.3.1 固定分区存储管理 93
5.3.2 可变分区存储管理 95
5.3.3 可重定位分区存储管理 99
5.4 覆盖与交换 100
5.4.1 覆盖技术 100
5.4.2 交换技术 101
5.5 分页存储管理 102
5.5.1 基本概念 102
5.5.2 页表 104
5.5.3 地址转换 105
5.5.4 分页存储管理的改进 106
5.6 分段存储管理 109
5.6.1 基本概念 109
5.6.2 段表 110
5.6.3 地址转换 110
5.6.4 段的保护和共享 111
5.6.5 分页和分段的区别 111
5.7 段页式存储管理 112
5.7.1 基本概念 112
5.7.2 段表和页表 113
5.7.3 地址变换 114
5.8 虚拟存储管理 114
5.8.1 基本原理 115
5.8.2 请求分页存储管理 116
5.8.3 请求分段存储管理 121
习题 123
第6章 设备管理 126
6.1 设备层次结构 126
6.2 设备管理概述 127
6.2.1 设备的分类 127
6.2.2 设备管理的目标和任务 128
6.2.3 设备管理的主要功能 129
6.3 输入输出系统 129
6.3.1 I/O系统结构 129
6.3.2 I/O设备控制器 130
6.3.3 I/O通道 132
6.3.4 设备的控制方式 133
6.4 设备分配与回收 136
6.4.1 数据结构 136
6.4.2 设备分配因素 137
6.4.3 设备分配与回收 139
6.5 设备处理 140
6.5.1 设备驱动程序 140
6.5.2 驱动程序的处理过程 141
6.6 设备管理的实现技术 142
6.6.1 中断技术 142
6.6.2 缓冲技术 144
6.6.3 假脱机技术 147
6.7 存储设备 148
6.7.1 存储设备类型 149
6.7.2 磁盘驱动调度算法 150
习题 153
第7章 文件管理 154
7.1 文件管理概述 154
7.1.1 文件与文件系统 154
7.1.2 文件的分类 155
7.2 文件结构 156
7.2.1 文件的逻辑结构 157
7.2.2 文件的物理结构 158
7.2.3 文件的存取方法 162
7.2.4 记录成组和分解 163
7.3 存储空间管理 164
7.3.1 存储空间的分配 165
7.3.2 存储空间的管理 165
7.4 文件目录 168
7.4.1 基本概念 169
7.4.2 文件目录结构 170
7.5 文件共享与安全 174
7.5.1 文件共享 174
7.5.2 文件安全 175
7.6 文件操作 177
习题 179
参考文献 181