第1章 绪论 1
1.1操作系统的形成与地位 1
1.1.1操作系统的形成 1
1.1.2操作系统的地位 2
1.2操作系统的发展阶段 3
1.2.1手工操作系统阶段 3
1.2.2早期批处理系统阶段 4
1.2.3多道程序系统阶段 5
1.2.4新一代操作系统阶段 6
1.3操作系统的定义与特征 6
1.3.1操作系统的定义 6
1.3.2操作系统的特征 7
1.4操作系统的基本类型 8
1.4.1多道批处理操作系统 8
1.4.2分时操作系统 9
1.4.3实时操作系统 10
1.4.4网络操作系统 11
1.4.5分布式操作系统 12
1.4.6多处理机操作系统 13
1.4.7嵌入式操作系统 13
1.5操作系统的基本功能 14
1.5.1处理机管理 14
1.5.2存储器管理 15
1.5.3文件管理 17
1.5.4设备管理 17
1.5.5用户接口 18
1.6研究、分析操作系统的几种观点 19
习题 21
第2章 用户接口 23
2.1操作系统提供给用户的接口 23
2.2用户的输入/输出方式 24
2.2.1联机输入/输出方式 24
2.2.2脱机输入/输出方式 25
2.2.3直接耦合方式 25
2.2.4 SPOOLing系统 26
2.3系统调用 27
2.3.1系统调用的基本概念 27
2.3.2系统调用的主要种类 28
2.3.3系统调用的功能 28
2.3.4系统调用与一般过程(函数)调用的主要区别 29
2.3.5系统调用的运行过程与使用方法 29
2.4图形化用户接口 31
习题 32
第3章 进程管理 33
3.1进程 33
3.1.1进程的引入和定义 34
3.1.2进程上下文 37
3.1.3进程状态 38
3.1.4 PCB内容 42
3.2进程控制 45
3.2.1进程创建原语 46
3.2.2进程终止原语 47
3.2.3进程阻塞与唤醒原语 48
3.2.4进程挂起与激活原语 49
3.3进程的同步与互斥 50
3.3.1进程之间的制约关系 50
3.3.2信号量机制 51
3.3.3进程的同步与互斥实现 54
3.3.4进程的同步与互斥实例分析 57
3.4进程的通信 65
3.4.1消息缓冲通信 65
3.4.2信箱通信 67
3.4.3管道通信 68
3.5死锁 71
3.5.1死锁的基本概念 71
3.5.2死锁的预防与避免 73
3.5.3死锁的检测与解除 77
3.6线程 80
3.6.1线程的概念 80
3.6.2线程实现机制 82
3.6.3线程与进程的比较 83
3.7管程 84
3.7.1管程概念 84
3.7.2管程语法与应用 85
3.7.3管程的主要特征 86
习题 87
第4章 处理机调度 91
4.1作业 91
4.1.1作业和作业步 91
4.1.2作业控制块 92
4.1.3作业状态及相互转换 93
4.2处理机调度层次 93
4.2.1高级调度 94
4.2.2中级调度 94
4.2.3低级调度 95
4.3进程调度目标和调度方式 96
4.3.1进程调度目标 96
4.3.2进程调度方式 97
4.4调度队列模型和选择调度算法的准则 98
4.4.1调度队列模型 98
4.4.2选择调度算法的若干准则 99
4.5调度算法 101
4.5.1先来先服务调度算法 102
4.5.2短进程优先调度算法 102
4.5.3高优先级优先调度算法 102
4.5.4最高响应比优先调度算法 103
4.5.5基于时间片的轮转调度算法 103
4.5.6多级反馈队列调度算法 104
4.6实时调度 105
4.6.1实时调度的基本条件 106
4.6.2实时调度算法的分类 107
4.6.3常用的实时调度算法 108
习题 110
第5章 存储管理 112
5.1存储管理的功能 112
5.1.1内存空间的分配和回收 112
5.1.2地址变换 113
5.1.3内存空间的共享和保护 114
5.1.4内存空间的扩充 115
5.2存储器的层次结构 115
5.2.1多级存储器结构 115
5.2.2内存与寄存器 116
5.2.3高速缓存和磁盘缓存 116
5.3程序的装入和链接 117
5.3.1装入与重定位 118
5.3.2链接 120
5.4分区存储管理 121
5.4.1单一连续分区 122
5.4.2固定分区 122
5.4.3可变分区 124
5.4.4动态重定位分区 126
5.5覆盖技术与交换技术 127
5.5.1覆盖技术 127
5.5.2交换技术 128
5.6页式存储管理 129
5.6.1页式存储管理的基本原理 129
5.6.2页式存储管理的地址变换机构 131
5.6.3页式存储管理中逻辑地址到物理地址的计算 132
5.6.4页表的硬件实现 132
5.6.5页表的组织 134
5.7页面置换算法 135
5.7.1最佳置换算法和先进先出置换算法 135
5.7.2最近最久未使用置换算法 138
5.7.3 Clock置换算法 140
5.8段式存储管理 143
5.8.1段式存储管理的基本原理 144
5.8.2段式存储管理系统地址变换过程 145
5.8.3段式存储管理和页式存储管理的区别 146
5.8.4段的共享与保护 146
5.9段页式存储管理 150
5.9.1段页式存储管理的基本原理 150
5.9.2段页式存储管理的地址变换 150
5.9.3段页式存储管理的特点 153
5.10局部性原理和抖动问题 153
5.11内存三大管理技术对比 154
习题 155
第6章 文件管理 159
6.1文件与文件系统 159
6.1.1数据项和记录 159
6.1.2文件分类 160
6.1.3文件系统 161
6.1.4文件操作 163
6.2文件逻辑结构 164
6.2.1文件逻辑结构类型 165
6.2.2顺序文件 167
6.2.3索引文件 168
6.2.4索引顺序文件 169
6.2.5堆文件 170
6.2.6直接文件和哈希文件 170
6.3文件物理结构 171
6.3.1连续存储结构 171
6.3.2链接存储结构 173
6.3.3索引存储结构 175
6.3.4存取设备、物理结构和存取方法之间的关系 178
6.4目录管理 179
6.4.1文件控制块、文件目录和目录文件 179
6.4.2索引节点 180
6.4.3目录结构 181
6.4.4目录查询技术 185
6.5文件存储空间管理 187
6.5.1空闲表法和空闲链表法 187
6.5.2位示图法 188
6.5.3成组链接法 189
6.6文件共享 190
6.6.1基于索引节点的共享方式 190
6.6.2利用符号链实现文件共享 191
6.6.3绕道法 193
6.6.4基本文件目录表法 193
6.7文件保护 194
6.7.1存取控制矩阵 195
6.7.2存取控制表 195
6.7.3用户权限表 196
6.7.4口令 196
6.7.5密码 196
习题 197
第7章 设备管理 199
7.1 I/O系统 199
7.1.1 I/O设备 199
7.1.2设备控制器 201
7.1.3 I/O通道 203
7.2 I/O数据传输控制方式 204
7.2.1程序直接控制方式 204
7.2.2中断控制方式 205
7.2.3直接存储器访问控制方式 207
7.2.4通道控制方式 210
7.3缓冲管理 214
7.3.1缓冲的引入 214
7.3.2缓冲的种类 216
7.4 I/O软件 222
7.4.1 I/O软件的设计目标和原则 223
7.4.2中断处理程序 225
7.4.3设备驱动程序 227
7.4.4设备独立性 229
7.4.5用户层的I/O软件 231
7.5设备管理 231
7.5.1设备分配中的数据结构 231
7.5.2设备分配时应考虑的因素 233
7.5.3独占设备的分配程序 235
7.5.4 SPOOLing技术 236
7.6中断技术 238
7.7磁盘存储器的管理 239
7.7.1磁盘性能简述 239
7.7.2磁盘调度 242
习题 246
参考文献 249