第1章 引论 1
1.1 操作系统的基本概念 1
1.1.1 操作系统的定义 1
1.1.2 操作系统在计算机系统中的作用 2
1.1.3 研究操作系统的几种观点 2
1.2 操作系统的发展 4
1.2.1 问题的提出 4
1.2.2 解决办法 5
1.2.3 基本操作系统类型 6
1.2.4 新型操作系统 8
1.3 操作系统的特征与功能 9
1.3.1 操作系统的特征 9
1.3.2 操作系统的功能 10
1.4 操作系统的结构设计 13
1.4.1 整体式系统 13
1.4.2 模块层%POST http://www.xduph.com/php/phpMyAd.4.3 ]
客户/服务器系统 15
习题 17
第2章 处理机管理 18
2.1 进程概念 18
2.1.1 进程的引入 18
2.1.2 进程的描述 23
2.2 OS内核及进程控制 28
2.2.1 OS内核 28
2.2.2 进程控制 28
2.2.3 进程控制原语 29
2.3 进程通信 33
2.3.1 进程同步与互斥 33
2.3.2 经典同步问题 41
2.3.3 进程通信 44
2.4 进程调度 48
2.4.1 概述 48
2.4.2 进程调度的实现 49
2.4.3 进程调度算法 50
2.5 线程 52
2.5.1 线程的引入 52
2.5.2 线程的类型 53
2.5.3 线程与进程的比较 55
2.6 死锁 56
2.6.1 死锁定义 56
2.6.2 死锁的类型 56
2.6.3 死锁发生的条件 58
2.6.4 解决死锁的方法 58
2.7 作业管理 64
2.7.1 概念 64
2.7.2 作业状态 64
2.7.3 作业调度 65
2.8 操作系统的接口 70
2.8.1 命令接口 70
2.8.2 程序接口 71
2.8.3 图形用户接口 73
习题 73
第3章 存储器管理 76
3.1 存储管理概述 76
3.1.1 存储管理的概念 76
3.1.2 地址重定位 76
3.1.3 虚拟存储器概念的引入 78
3.2 分区式存储管理 78
3.2.1 单一连续分配 79
3.2.2 固定式分区分配 79
3.2.3 动态分区分配 80
3.2.4 动态重定位分区分配 83
3.2.5 分区分配方案的评价 83
3.3 覆盖和对换 84
3.3.1 覆盖(Overlay) 84
3.3.2 对换(Swapping) 84
3.4 分页存储管理 85
3.4.1 分页原理 85
3.4.2 分页存储分配与回收算法 86
3.4.3 地址映射机构 87
3.4.4 多级页表 88
3.4.5 分页存储管理方案的评价 89
3.5 请求分页存储管理 90
3.5.1 请求分页原理 90
3.5.2 页面置换算法 91
3.5.3 页面分配 93
3.5.4 抖动 94
3.5.5 工作集 95
3.5.6 性能分析 95
3.6 分段存储管理 96
3.6.1 分段原理 96
3.6.2 地址映射机构 96
3.6.3 请求分段存储管理 97
3.6.4 段的保护与共享 98
3.6.5 分段存储管理方案的评价 98
3.7 段页式存储管理 98
3.7.1 段页式存储管理的实现 99
3.7.2 段页式存储管理的评价 100
习题 100
第4章 设备管理 102
4.1 概述 102
4.1.1 设备的类别 102
4.1.2 设备管理的功能和任务 103
4.2 数据传送控制方式 103
4.2.1 程序直接控制方式 103
4.2.2 中断方式 104
4.2.3 DMA方式 104
4.2.4 通道控制方式 105
4.3 缓冲管理 106
4.3.1 缓冲的引入 106
4.3.2 单缓冲与双缓冲 106
4.3.3 循环缓冲 107
4.3.4 缓冲池 108
4.4 设备分配 109
4.4.1 设备分配的原则与策略 110
4.4.2 设备分配中使用的数据结构 110
4.4.3 设备分配算法 112
4.5 设备虚拟性与独立性 113
4.5.1 SPOOLing定义 113
4.5.2 SPOOLing系统的组成 114
4.5.3 SPOOLing系统的应用 114
4.5.4 设备独立性 115
4.6 设备处理过程 115
4.6.1 设备驱动程序功能与特点 115
4.6.2 设备处理方式与设备处理流程 116
习题 117
第5章 文件系统 118
5.1 文件系统概述 118
5.1.1 文件 118
5.1.2 文件系统 120
5.2 文件结构和文件存取 121
5.2.1 文件逻辑结构及文件存取 121
5.2.2 文件的物理结构(系统观点) 125
5.2.3 记录成组技术 129
5.2.4 文件存储空间管理 130
5.3 文件目录和目录检索 136
5.3.1 文件控制块 136
5.3.2 目录结构 136
5.3.3 文件目录检索 140
5.3.4 文件目录实例 141
5.4 文件共享与保护的实现 142
5.4.1 文件共享 142
5.4.2 文件保护 143
5.5 文件系统的用户接口 146
5.5.1 文件操作 146
5.5.2 目录操作 148
习题 148
第6章 UNIX系统内核 150
6.1 概述 150
6.1.1 UNIX系统简介 150
6.1.2 UNIX系统的特点 152
6.1.3 UNIX系统的核心结构 154
6.2 进程管理 155
6.2.1 UNIX进程映象和进程状态 155
6.2.2 进程控制 157
6.2.3 进程调度 159
6.2.4 进程通信 161
6.3 文件系统 166
6.3.1 文件系统结构 166
6.3.2 文件控制块-- i节点的分配与释放 167
6.3.3 文件的打开与关闭 168
6.3.4 文件的物理组织--多重索引结构 170
6.3.5 文件存储空间管理--空闲块成组链接法 171
6.3.6 主要数据结构之间的联系 172
6.4 存储管理 173
6.4.1 对换 173
6.4.2 请求分页 174
6.5 设备管理 175
6.5.1 UNIX系统设备开关表 175
6.5.2 UNIX系统的块设备管理 176
6.5.3 字符设备管理 178
习题 180
第7章 高级操作系统 182
7.1 多处理机操作系统 182
7.1.1 多处理机系统的分类 182
7.1.2 多处理机系统的结构 184
7.1.3 多处理机操作系统 187
7.2 网络操作系统 188
7.2.1 计算机网络的诞生和定义 188
7.2.2 计算机网络的结构与组成 189
7.2.3 计算机网络的分类 191
7.2.4 网络协议体系结构 193
7.2.5 网络操作系统 197
7.3 分布式操作系统 200
7.3.1 分布式系统概念 200
7.3.2 分布式系统的设计 201
7.3.3 分布式操作系统 204
7.3.4 分布式操作系统中的进程通信 209
7.3.5 分布式操作系统中的进程同步 212
7.3.6 分布式系统的资源管理 215
7.3.7 分布式系统中的死锁 217
习题 220
参考文献 222