第一章 分布式计算机系统 1
1.1 分布式系统的特征 2
1.1.1 资源共享 2
1.1.2 开放性 2
1.1.3 并发性 3
1.1.4 容错性 3
1.1.5 透明性 3
1.2 分布式系统的总体评价 4
1.2.1 优点 4
1.2.2 不足 4
1.3 分布式系统的结构 5
1.4 分布式系统的资源管理 5
1.5 分布式系统的拓扑结构 6
1.5.1 全互连结构 6
1.5.2 部分互连结构 6
1.5.5 环形结构 7
1.5.3 层次结构 7
1.5.4 星形结构 7
1.5.6 多存取总线结构 8
1.5.7 环-星形结构 8
1.5.8 有规则结构 9
1.5.9 不规则结构 9
1.5.10 立方体结构 9
1.6 计算机网络 9
1.6.1 远程网 10
1.6.2 局域网 11
1.6.3 网络分层结构及通信协议 11
1.7 分布式操作系统 13
1.7.1 多机操作系统的基本结构 13
1.7.2 设计分布式操作系统时应考虑的问题 14
1.7.3 构造分布式操作系统的途径 15
1.7.4 分布式操作系统的结构模型 16
1.7.5 分布式操作系统的层次划分 17
1.7.6 分布式操作系统的控制和管理策略 18
1.7.7 分布式系统与计算机网络 19
1.7.8 分布式操作系统的设计方法 19
1.8 小结 20
第二章 分布式通信机制 21
2.1 概述 21
2.1.1 发送策略 21
2.1.2 连接策略 22
2.1.3 争夺处理 22
2.1.4 保密 23
2.2 消息传递 24
2.2.1 消息传递原语 24
2.2.2 同步消息传递方式的应用 26
2.2.3 组通信 28
2.2.4 组通信的实现 30
2.2.5 组通信的一个实例 32
2.3 远程过程调用 33
2.3.1 RPC的功能 35
2.3.2 RPC的通信模型 35
2.3.3 RPC的结构及实现 36
2.3.4 RPC的语义 39
2.4 异步分布进程通信模型 40
2.4.1 PCAP模型 41
2.4.2 通道语法规则 41
2.4.3 PCAP模型的基本算法及其改进 42
2.4.4 一个层次-F通道应用 43
2.4.5 性能分析 45
2.5 小结 45
第三章 分布式协同处理 46
3.1 事件定序与时戳 46
3.2 分布式互斥算法 47
3.2.3 Lamport算法 48
3.2.2 集中式算法 48
3.2.1 分布式互斥算法的基本假定 48
3.2.4 Ricart和Agrawala算法 49
3.2.5 令牌传递算法 51
3.3 选择算法 53
3.3.1 Bully算法 53
3.3.2 基于环结构的算法 54
3.4 小结 55
第四章 分布式资源管理 56
4.1 资源共享 56
4.1.1 数据迁移 56
4.1.2 计算迁移 56
4.1.3 作业迁移 57
4.2 资源管理策略 57
4.2.1 局部集中管理 58
4.2.2 分散式管理 58
4.2.4 一种分散式资源管理算法 59
4.2.3 分级式管理 59
4.2.5 招标算法 60
4.3 死锁处理 61
4.3.1 资源分配图 62
4.3.2 进程等待图 64
4.3.3 利用时戳预防死锁 64
4.3.4 死锁检测方法 65
4.3.5 集中式死锁检测方法 66
4.3.6 层次式死锁检测方法 67
4.4 小结 68
第五章 分布式进程与处理机管理 69
5.1 进程管理 69
5.1.1 分布式进程 69
5.1.2 分布式进程的状态与切换 69
5.2 处理机管理 70
5.2.1 处理机的状态及其转换 70
5.1.3 分布式进程的同步与互斥 70
5.2.2 处理机通信 71
5.2.3 处理机分配与调度 72
5.3 小结 73
第六章 任务分配与负载平衡 74
6.1 任务分配 74
6.1.1 任务分配环境 75
6.1.2 影响系统性能的因素 75
6.1.3 基于图论的分配策略 76
6.1.4 数学规划策略 78
6.1.5 “合一-阈值”启发式分配算法 79
6.1.6 一个改进的启发式算法 81
6.1.7 基于遗传算法和模拟退火算法的任务分配策略 85
6.1.8 基于非循环有向任务图的任务调度策略 88
6.2 负载平衡 94
6.2.1 概述 94
6.2.3 负载平衡算法的组成 95
6.2.2 负载平衡算法分类 95
6.2.4 发送者主动算法 96
6.2.5 接收者主动算法 97
6.2.6 双向主动算法 98
6.2.7 梯度模型 98
6.2.8 接收者主动的渗透算法 98
6.2.9 预约策略 99
6.2.10 投标策略 99
6.2.11 广播策略 99
6.3 智能型任务调度算法 99
6.3.1 任务调度中的知识及其表示 100
6.3.2 任务调度程序的结构 100
6.3.3 任务调度算法的实现 101
6.4 小结 102
第七章 分布式文件系统 103
7.1 分布式文件系统的要求 103
7.2 分布式文件系统的组成 105
7.3 设计策略 106
7.4 接口 107
7.4.1 展开文件服务 108
7.4.2 与UNIX的比较 109
7.4.3 目录服务 111
7.5 文件系统实现技术 112
7.5.1 文件组结构 112
7.5.2 权限和存取控制 113
7.5.3 文件定位 116
7.5.4 高速缓存 117
7.6 NFS分析 119
7.7 小结 125
第八章 命名服务与透明性 127
8.1 概述 127
8.1.1 名字与属性 127
8.1.2 命名服务系统 128
8.1.3 命名服务的一般要求 129
8.2 一般的命名方式 129
8.3 分布式系统中的命名方式 131
8.3.1 名字管理器的主要功能 131
8.3.2 分布式系统中的命名方案 131
8.3.3 惟一标识符和字符串名 132
8.4 名字服务器的设计 133
8.5 分布式系统的透明性 134
8.5.1 透明性 134
8.5.2 与透明性相关的几个问题 135
8.6 实例分析 136
8.6.1 SNS 136
8.6.2 Internet域名系统(IDNS) 140
8.7 小结 144
9.1 概述 145
9.2 简单分布式事务和嵌套事务 145
第九章 分布式事务处理 145
9.3 原子提交协议 147
9.4 分布式事务的并发控制 150
9.4.1 分布式事务的锁机制 150
9.4.2 分布式事务中的时戳定序并发控制 150
9.4.3 分布式事务中的乐观并发控制 151
9.5 分布式事务的死锁 152
9.6 带复制数据的事务 157
9.6.1 复制事务的体系结构 158
9.6.2 有效副本复制 160
9.6.3 网络分割 161
9.6.4 带验证的有效副本 162
9.6.5 定数一致方法 162
9.6.6 虚拟分割算法 165
9.7 小结 167
10.1 概述 169
第十章 故障恢复与系统容错 169
10.2 事务恢复 170
10.2.1 登录 171
10.2.2 影子版本 173
10.2.3 恢复文件中的事务状态表及意向表表目 175
10.2.4 事务的故障模型 177
10.3 容错 178
10.3.1 故障特征 179
10.3.2 Byzantine故障 180
10.4 分层故障屏蔽和成组故障屏蔽 182
10.4.1 分层屏蔽 182
10.4.2 成组故障屏蔽 182
10.4.3 稳定存储器 184
10.4.4 主服务器与备份服务器 185
10.5 小结 187
第十一章 分布式共享内存 188
11.1 概述 188
11.1.1 消息传递与DSM的比较 189
11.1.2 DSM的主要处理方式 190
11.2 设计和应用 191
11.2.1 数据结构 191
11.2.2 同步模型 191
11.2.3 一致性模型 192
11.2.4 修改问题 194
11.2.5 颗粒性 194
11.2.6 抖动问题 195
11.3 有序一致性与Ivy系统 195
11.4 自由一致性与Munin系统 201
11.4.1 自由一致性 202
11.4.2 Munin系统 203
11.5 其他一致性模型 204
11.6 小结 205
12.1 对象概念 207
第十二章 面向对象的分布式操作系统设计 207
12.2 利用对象构造分布式操作系统的基本方法 208
12.3 对象的保护域和权限 210
12.4 对象的同步 211
12.5 进程管理 213
12.6 存储管理 214
12.7 设备管理 214
12.9 通信管理 216
12.8 I/O管理 216
12.10 小结 217
第十三章 分布式操作系统实例分析 219
13.1 Mach系统 219
13.1.1 设计目标和主要设计特性 220
13.1.2 Mach的主要概念 221
13.1.3 端口、命名和保护 222
13.1.4 任务和线程 223
13.1.5 通信模型 224
13.1.6 通信实现 226
13.1.7 内存管理 229
13.1.8 外部页面 231
13.1.9 Mach的主要特征 233
13.2 Chorus系统 233
13.2.1 设计目标和主要设计特性 234
13.2.2 Chorus的主要概念 235
13.2.3 进程管理模型 235
13.2.4 命名和保护 238
13.2.5 资源的群组管理 238
13.2.6 通信模型及其实现 241
13.2.7 Chorus的主要特征 243
13.3 Amoeba系统 243
13.3.1 设计目标和主要设计特征 244
13.3.2 保护和权限 244
13.3.3 进程与通信 245
13.3.4 通信实现 247
13.3.5 Amoeba的主要特征 250
13.4 Mach,Chorus和Amoeba三者的比较 251
第十四章 中间件技术与CORBA体系结构 253
14.1 中间件技术 253
14.2 CORBA 254
14.2.1 CORBA简述 254
14.2.2 CORBA体系结构 254
14.3 基于Agent和CORBA技术的分布式多媒体数据挖掘系统 256
14.3.1 系统简介 256
14.3.2 系统体系结构 257
14.3.3 系统工作流程 259
14.4 小结 260
第十五章 新型分布式操作系统及其研制方法研究 261
15.1 问题的提出 261
15.2 新型分布式操作系统自动生成系统模型 263
15.3 需要解决的关键问题 266
参考文献 267