《分布计算系统》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:徐高潮等编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2004
  • ISBN:7040133091
  • 页数:422 页
图书介绍:本书介绍用计算机网络组成的分布计算系统的结构和实现技术,侧重于基本概念、基本原理和基本方法。全书分为12章:分布计算系统的基本概念和体系结构、分布计算系统的进程通信、分布式程序设计语言、命名与保护、分布式同步和互斥机构、死锁问题及其处理技术、容错技术、分布式数据管理、分布式文件系统的设计问题与实现方法、分布式调度、分布式共享存储器技术以及基于对象的分布式系统。本书比较全面和系统地反映了国际上这一领域取得的主要成果。特别是最近几年取得的成果。特别强调了通信、容错、死锁、同步和互斥、并发控制、分布式调度及分布式对象方面的内容。 本书叙述详细、由浅入深,具有丰富的图解,力求做到既通俗易懂,又具有一定的理论深度,可作为大学高年级学生和研究生教材,也可供有关科技人员参考。

1.1 为什么需要分布计算系统 1

第一章 绪论 1

1.2 分布计算系统的相关概念 2

1.2.1 什么是分布计算系统 2

1.2.2 松散耦合与紧密耦合分布计算系统 3

1.2.3 同构型与异构型分布计算系统 4

1.3 分布计算系统的优点和新问题 6

1.3.1 分布计算系统的优点 6

1.4 分布计算系统的透明性 7

1.4.1 透明性的概念 7

1.3.2 分布计算系统的新问题 7

1.4.2 影响透明性的因素 8

1.5 分布计算系统与计算机网络系统 10

1.5.1 网络操作系统与分布式操作系统 10

1.5.2 计算机网络系统与分布计算系统的区别 12

1.6 分布计算系统的体系结构与设计问题 14

1.6.1 分布计算系统的分层体系结构 14

1.6.2 分布计算系统的组成 16

1.6.3 基于中间件的分布计算系统 17

1.6.4 分布计算系统的设计问题 19

参考文献 22

习题 22

第二章 进程通信 23

2.1 同一节点上的进程间通信 23

2.1.1 管道 23

2.1.2 消息队列 26

2.1.3 共享内存 30

2.2 不同节点上的进程间通信 31

2.2.1 网络通信分层结构模型 31

2.2.2 进程通信原语 36

2.2.3 报文传递实例1:socket进程通信 41

2.2.4 报文传递实例2:MPI进程通信 46

2.2.5 RPC实例1:SUN RPC 48

2.2.6 RPC实例2:DCE RPC 51

2.3 组通信 54

2.3.1 组通信的概念 54

2.3.2 组通信的设计问题 56

2.3.3 ISIS中的组通信 59

习题 62

参考文献 63

3.1.1 分布式应用程序的分类 64

第三章 分布式程序设计语言 64

3.1 分布式程序设计语言概述 64

3.1.2 分布式程序设计与顺序程序设计的区别 65

3.1.3 分布式程序设计语言的分类 66

3.2 并行性的支持 68

3.2.1 并行性的概念 68

3.2.2 并行性的表示 69

3.2.3 并行计算到物理处理机的变换 72

3.3 进程通信与同步的支持 74

3.3.1 报文传递 74

3.3.2 共享数据 78

3.3.3 非确定性的表示和控制 80

3.4 逻辑上分布地址空间的语言 83

3.4.1 同步式报文传递语言 83

3.4.2 异步式报文传递语言 84

3.4.3 基于会合的语言 85

3.4.4 基于远程过程调用的语言 86

3.4.5 多重通信原语 87

3.4.6 基于对象的语言 88

3.4.7 基于原子事务处理的语言 89

3.5.1 并行函数式语言 91

3.5 逻辑上共享地址空间的语言 91

3.5.2 并行逻辑语言 92

3.5.3 基于分布数据结构的语言 93

3.6 分布式控制描述语言DCDL 96

3.6.1 DCDL中并行性的表示 96

3.6.2 选择语句 97

3.6.3 重复语句 97

3.6.4 语句并发(或并行)的条件 99

3.6.5 DCDL中的通信 99

3.6.6 DCDL中的通信容错 101

习题 102

考文献 103

第四章 命名与保护 105

4.1 分布式系统中的命名 105

4.1.1 名字、标识符和地址 105

4.1.2 分布式系统中的名字 107

4.1.3 名字的结构 108

4.1.4 名字空间 109

4.1.5 名字解析 111

4.1.6 分布式系统中的名字空间的实现 114

4.1.7 实例:DNS 119

4.2 加密技术 123

4.2.1 传统加密方法 124

4.2.2 公开密钥加密方法 127

4.3 保护 129

4.3.1 保护的目标与要求 129

4.3.2 公开密钥加密技术实现数字签名 131

4.3.3 单密钥加密技术实现数字签名 132

4.3.5 权能的保护 133

4.3.4 使用报文摘要的数字签名 133

4.3.6 分布系统中访问位置的控制 136

4.4 保护的例子:Amoeba 137

4.4.1 信口 137

4.4.2 权能 139

4.4.3 用软件F盒保护 140

习题 141

参考文献 142

5.1 分布式系统中的资源管理 143

5.1.1 资源管理方式 143

第五章 同步和互斥 143

5.1.2 控制空间 144

5.1.3 分散控制与通信 148

5.1.4 资源的分配原则 149

5.2 同步机构 149

5.2.1 分布式系统中同步机构的作用 149

5.2.2 分布计算系统中的同步机构 151

5.2.3 物理时钟 152

5.2.4 逻辑时钟 156

5.3 系统的全局状态 161

5.3.1 全局状态的形式定义 162

5.3.2 全局状态的获取 163

5.3.3 一致全局状态的充要条件 164

5.4 互斥算法 165

5.4.1 互斥问题 165

5.4.2 集中式互斥算法 166

5.4.3 非基于令牌的互斥算法 167

5.4.4 基于令牌的互斥算法 171

5.4.5 选举算法 174

5.4.6 自稳定算法 176

习题 178

参考文献 179

第六章 分布式系统中的死锁 182

6.1 死锁问题 182

6.1.1 死锁发生的条件 182

6.1.2 死锁的图论模型 183

6.1.3 处理死锁的策略 184

6.1.4 死锁的AND条件和OR条件 185

6.2 死锁的预防 186

6.2.1 预防死锁的一般方法 186

6.2.2 基于时间戳的预防死锁方法 187

6.3.1 集中式死锁检测 188

6.3 死锁的检测 188

6.3.2 分布式死锁检测 190

6.3.3 层级式死锁检测 191

6.3.4 死锁检测的实例 192

习题 197

参考文献 198

第七章 分布式系统中容错技术 200

7.1 分布式系统中的故障模型 200

7.1.1 基本概念 200

7.1.2 基本的故障模型 201

7.2.2 故障-停止处理器 204

7.2 容错系统的基本构件 204

7.2.1 坚固存储器 204

7.2.3 原子操作 205

7.3 节点故障的处理 205

7.3.1 向后式恢复 206

7.3.2 向前式恢复 208

7.4 检查点算法 209

7.4.1 一致性检查点 209

7.4.2 异步检查点 211

7.4.3 同步检查点 212

7.4.5 报文日志 214

7.4.4 混合检查点 214

7.5 拜占庭故障的恢复 216

7.5.1 恢复中的设计问题 216

7.5.2 错误屏蔽和进程复制 218

7.5.3 容错系统中的一致性协议 219

7.6 可靠的组通信 225

7.6.1 基本的可靠组播方案 225

7.6.2 可靠的组播通信中的可扩充性 227

7.6.3 原子组播 229

习题 234

参考文献 235

第八章 分布式数据管理 238

8.1 一致性模型 238

8.1.1 严格一致性 238

8.1.2 顺序一致性和可线性化一致性 239

8.1.3 相关一致性 241

8.1.4 FIFO一致性 242

8.1.5 弱一致性 244

8.1.6 释放一致性 245

8.1.7 进入一致性 247

8.2 并发控制 249

8.2.1 并发控制的目标与事务处理 249

8.2.2 可串行化调度 253

8.2.3 基于锁的并发控制 257

8.2.4 基于时间戳的并发控制 259

8.2.5 乐观的并发控制 261

8.3 原子事务处理 261

8.3.1 原子事务处理的性质 261

8.3.2 事务处理的分类 263

8.3.4 基于原子事务处理的局部恢复 264

8.3.3 原子事务处理的实现 264

8.3.5 分布式提交协议 267

8.4 多副本更新和一致性管理 269

8.4.1 分布式系统中的系统数据库 270

8.4.2 兼容可串行化 271

8.4.3 主站点方法 272

8.4.4 循环令牌方法 273

8.4.5 同步表决方法 273

8.4.6 活动复制控制方法 275

8.4.7 法定数方法 276

参考文献 279

习题 279

第九章 分布式文件系统 282

9.1 分布式文件系统的特点和基本要求 282

9.1.1 分布式文件系统的特点 282

9.1.2 分布式文件系统的基本要求 283

9.2 分布式文件系统中的命名 284

9.2.1 命名方案 285

9.2.2 命名的实现技术 286

9.3 共享语义 288

9.4.1 文件的远程访问方法 290

9.4 缓存 290

9.4.2 缓存的粒度和地点 291

9.4.3 更新策略、缓存有效性检验和一致性 292

9.4.4 缓存和远程服务的比较 293

9.5 容错和可扩充性 294

9.5.1 无状态服务和有状态服务 294

9.5.2 可用性与文件复制 296

9.5.3 可扩充性 297

9.5.4 用线程实现文件服务员 298

9.7 SUN网络文件系统(NFS) 299

9.6 安全性 299

9.7.1 NFS概述 300

9.7.2 NFS中的通信 303

9.7.3 NFS服务员 304

9.7.4 NFS中的命名 305

9.7.5 NFS中的文件封锁 308

9.7.6 缓存和复制 310

9.7.7 NFS中的容错 311

9.7.8 NFS的安全性 313

9.8.1 设计目标 316

9.8 其他的分布式文件系统及其比较 316

9.8.2 通信和进程 317

9.8.3 命名 318

9.8.4 同步 318

9.8.5 缓存和复制 319

9.8.6 容错 319

9.8.7 安全性 320

习题 321

参考文献 321

10.1.1 调度算法的分类 324

10.1 调度算法概述 324

第十章 分布式调度 324

10.1.2 调度算法的目标和有效性评价 325

10.2 静态调度 327

10.2.1 任务划分与分配 327

10.2.2 基于任务优先图的任务调度 331

10.2.3 两种最优调度算法 333

10.2.4 基于任务相互关系图的任务调度 335

10.3 动态调度 338

10.3.1 动态调度的组成要素 338

10.3.2 动态负载平衡算法的分类、设计决策和使用的参数 340

10.4.1 工作站共享问题 343

10.4 空闲工作站的调度结构 343

10.4.2 工作环境 345

10.4.3 集中式调度 346

10.4.4 分散式调度 348

10.4.5 混合式调度 349

10.5 进程转移和远程执行 350

10.5.1 进程转移和远程执行的目的和方法 350

10.5.2 Sprite的进程迁移和远程执行设备 351

10.5.3 V系统中的可抢先的远程执行设备 354

10.5.4 NEST中的透明的远程执行设备 354

10.6.1 Sidle的组成 355

10.6 空闲工作站共享系统Sidle 355

10.6.2 Sidle的调度 356

10.6.3 Sidle的透明远程执行设备 357

习题 359

参考文献 359

第十一章 分布式共享存储器 362

11.1 基本概念 362

11.1.1 什么是分布式共享存储器系统 362

11.1.2 为什么需要分布式共享存储器 363

11.1.3 共享存储器中缓存一致性方法 364

11.1.4 DSM的设计与实现问题 365

11.1.5 一致性语义 366

11.2 实现DSM的算法 367

11.2.1 算法使用的模型和环境 367

11.2.2 中央服务员算法 368

11.2.3 迁移算法 369

11.2.4 读复制算法 370

11.2.5 全复制算法 371

11.2.6 算法性能 372

11.2.7 算法比较 373

11.3 使用目录的DSM 374

11.3.1 目录方案的分类 375

11.3.2 全映像目录 375

11.3.3 有限目录 377

11.3.4 链式目录 378

11.3.5 只对专用数据进行缓存的方案 379

11.3.6 性能比较 379

11.4 DSM系统的实现 380

11.4.1 实现DSM的基本方法 380

11.4.2 结构和粒度 381

11.4.3 数据定位和访问 382

11.4.4 一致性协议 383

11.4.5 替换策略 385

11.4.6 颠簸 386

11.4.7 可扩充性 386

11.4.8 异构性 387

11.4.9 其他有关算法 387

11.5 DSM实例:Ivy和MemNet 388

11.5.1 Ivy——软件实现的DSM 388

11.5.2 Ivy一致性协议 388

11.5.3 Ivy存储器管理 391

11.5.4 Ivy中的进程同步 392

11.5.5 MemNet——硬件实现的DSM 392

11.5.6 MemNet缓存一致性协议 393

11.5.7 Ivy与MemNet的比较 394

习题 395

参考文献 395

第十二章 基于对象的分布式系统 397

12.1 分布式对象 397

12.1.1 对象的概念 397

12.1.2 对象的类型 399

12.2 CORBA 400

12.2.1 CORBA的总体结构 400

12.2.2 CORBA的对象模型 401

12.2.3 接口库和实现库 402

12.2.4 CORBA的服务 403

12.2.5 CORBA的通信 404

12.2.6 CORBA的POA 409

12.3 DCOM 411

12.3.1 COM和DCOM 411

12.3.2 DCOM的对象模型 412

12.3.3 DCOM的类型库和注册 413

12.3.4 DCOM的服务 415

12.3.5 DCOM的通信 415

12.3.6 DCOM的Moniker 418

12.4 Clouds系统 419

12.4.1 Clouds的对象 419

12.4.2 Clouds的线程 420

12.4.3 Clouds的存储器 420

习题 421

参考文献 421