第1章 操作系统概论 1
1.1操作系统概念 1
1.1.1计算机系统总体结构 1
1.1.2从不同角度刻画操作系统 2
1.2操作系统发展历程 2
1.2.1无操作系统时代(1945—1955年) 3
1.2.2单道批处理系统(1955—1965年) 4
1.2.3多道程序系统(1965—1980年) 5
1.2.4分时操作系统 5
1.2.5实时操作系统 6
1.2.6各种类型操作系统简介 8
1.3操作系统基本特性 11
1.3.1并发性 11
1.3.2共享性 12
1.3.3虚拟性 13
1.3.4异步性 13
1.4操作系统功能 13
1.4.1处理机管理 14
1.4.2存储器管理 15
1.4.3设备管理 16
1.4.4文件管理 17
1.4.5用户接口 18
1.5操作系统结构设计 18
1.5.1传统操作系统结构 18
1.5.2客户/服务器模式 20
1.5.3微内核结构 22
1.6小结 25
习题 25
第2章 操作系统接口 28
2.1用户接口和系统程序 28
2.1.1用户接口 28
2.1.2命令解释程序 30
2.1.3系统程序 31
2.2系统调用 31
2.2.1系统态和用户态 32
2.2.2系统调用 32
2.2.3中断机制 33
2.2.4系统调用的实现 33
2.2.5 PO SIX标准 34
2.3小结 35
习题 35
第3章 进程管理 37
3.1进程的基本概念 37
3.1.1程序的顺序执行及特征 37
3.1.2程序的并发执行及特征 38
3.1.3进程的定义及描述 39
3.2进程状态及其转换 40
3.2.1进程状态及状态转换 40
3.2.2进程控制块 43
3.3进程控制 45
3.3.1进程的创建 45
3.3.2进程的阻塞与唤醒 46
3.3.3进程的终止 47
3.3.4进程的挂起与激活 47
3.4进程同步 48
3.4.1进程同步的概念 48
3.4.2临界区及其管理 49
3.4.3信号量及PV操作 53
3.4.4几个经典的进程同步问题 57
3.4.5管程机制 62
3.5进程通信 64
3.5.1进程的通信方式 65
3.5.2有关消息传递的若干问题 68
3.6死锁 70
3.6.1死锁的定义 70
3.6.2产生死锁的原因和条件 70
3.6.3处理死锁的方法 71
3.6.4死锁的预防 72
3.6.5死锁的避免 72
3.6.6死锁的检测及解决 77
3.7线程 78
3.7.1线程的引入 78
3.7.2线程的基本概念 79
3.7.3线程管理和线程库 81
3.7.4线程的实现 82
3.8小结 84
习题 85
第4章 处理机调度 88
4.1处理机调度的层次 88
4.1.1高级调度 89
4.1.2低级调度 90
4.1.3中级调度 91
4.2调度队列模型及调度准则 91
4.2.1调度队列模型 91
4.2.2调度准则 93
4.3调度算法 95
4.3.1调度算法的目标 95
4.3.2先来先服务 96
4.3.3短作业优先 96
4.3.4高优先权优先 97
4.3.5高响应比优先调度算法 98
4.3.6基于时间片轮转 99
4.3.7多级反馈队列调度 100
4.4实时调度 101
4.4.1实现实时调度的基本条件 101
4.4.2实时调度算法的分类 102
4.4.3实时调度算法 104
4.5小结 106
习题 106
第5章 存储管理 109
5.1存储器 109
5.1.1存储器的层次 109
5.1.2地址变换和存储保护 110
5.2连续存储空间管理 110
5.2.1固定分区管理方式 111
5.2.2可变分区管理方式 112
5.2.3覆盖与交换技术 115
5.3分页存储管理 117
5.3.1分页存储管理基本思想 117
5.3.2分页存储管理的分配与回收 120
5.3.3两级和多级页表 121
5.3.4分页存储管理的页面共享和保护 123
5.4分段存储管理方式 123
5.4.1分段存储管理方式的引入 124
5.4.2分段系统的基本原理 124
5.4.3分段与分页的比较 128
5.5虚拟存储管理 129
5.5.1虚拟存储器的概念 129
5.5.2请求分页虚拟存储管理 130
5.5.3页面置换算法 137
5.5.4请求分段虚拟存储管理 142
5.5.5请求段页式虚拟存储管理 144
5.6小结 145
习题 147
第6章 设备管理 150
6.1I/O系统 150
6.1.1 I/O设备 150
6.1.2设备控制器 152
6.1.3 I/O通道 154
6.2 I/O控制方式 156
6.2.1程序直接控制 156
6.2.2中断方式 157
6.2.3 DMA方式 159
6.2.4通道控制方式 160
6.3缓冲管理 162
6.3.1缓冲的引入 162
6.3.2缓冲的种类 163
6.3.3缓冲池管理 163
6.4 I/O软件 165
6.4.1 I/O软件的设计目标和原则 165
6.4.2中断处理程序 166
6.4.3设备驱动程序 167
6.4.4设备独立性软件 168
6.4.5用户层I/O软件 170
6.5设备分配 171
6.5.1设备分配用数据结构 172
6.5.2设备分配原则 173
6.5.3设备分配算法 173
6.6磁盘存储器管理 173
6.6.1磁盘性能 173
6.6.2磁盘调度 174
6.6.3提高磁盘I/O速度的方法 177
6.7小结 179
习题 180
第7章 文件系统管理 182
7.1文件系统的概念 182
7.1.1文件 182
7.1.2目录 183
7.1.3文件系统 184
7.2文件的逻辑结构 185
7.2.1文件逻辑结构的形式 185
7.2.2文件逻辑结构的类型 186
7.3文件的物理结构 188
7.3.1顺序文件 188
7.3.2链接文件 189
7.3.3索引文件 190
7.4文件目录管理 192
7.4.1文件的组成 192
7.4.2文件层次目录 193
7.5文件存储空间管理 195
7.5.1空闲表 195
7.5.2空闲链表 196
7.5.3位示图 197
7.6文件的共享机制 197
7.6.1基于索引结点的共享方式 198
7.6.2利用符号链实现文件共享 199
7.7文件系统性能 200
7.7.1文件系统的可靠性 200
7.7.2文件系统性能的优化 201
7.7.3文件的保护机制 201
7.8小结 204
习题 205
第8章 操作系统安全 208
8.1安全性概述 208
8.2操作系统面临的安全威胁 210
8.2.1病毒和蠕虫 210
8.2.2逻辑炸弹 210
8.2.3特洛伊木马 211
8.2.4隐蔽通道 211
8.3安全策略与模型 212
8.3.1机密性安全模型 212
8.3.2完整性安全模型 213
8.4安全机制 213
8.4.1认证机制 213
8.4.2访问控制 214
8.4.3加密机制 216
8.4.4审计机制 217
8.5小结 218
习题 218
第9章 移动操作系统 219
9.1移动操作系统概述 219
9.2移动操作系统发展现状 220
9.3移动操作系统发展趋势 222
9.3.1 Web化成为移动终端操作系统未来发展新方向 222
9.3.2智能操作系统促进移动互联网与物联网融合 223
9.4小结 223
习题 223
参考文献 224