分布式系统概念与设计(原书第3版)

分布式系统概念与设计(原书第3版)
作 者: George Coulouris Jean Dollimore Tim Kindberg 金蓓弘 金蓓弘
出版社: 机械工业出版社
丛编项: 计算机科学丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 分布式操作系统
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  GeorgeCoulouris是伦敦大学QueenMaryandWestfield学院的荣誉教授,同时是剑桥大学通信工程实验室的资深客座研究员,他领导的项目研究有关可动态配置的多媒体系统的服务质量,最近他一直致力于计算机支持协同工作和应用、分布式多媒体中间件和群件安全模型方面的研究工作。JeanDollimore在退休前是伦敦大学QueenMaryandWestfield学院的高级研究员,最近一直在从事有关计算机支持协同工作、分布式多媒体中间件和群件安全模型方面的研究。

内容简介

本书旨在提供深入的分布式系统设计原理和实践方面的知识,读者通过学习可以掌握评价已有系统或设计新系统的方法。书中结合分布式系统技术主要的新进展,重点介绍了因特网、企业内部网、Web和中间件,还包括故障建模和容错、分布式对象和分布式多媒体系统。本书非常强调算法,并结合其他相关技术讨论了安全问题。本书内容详实、覆盖面广且循序渐进,适合作为大中专院校计算机系高年级本科生及研究生的教科书和教学参考书,同时也可以作为计算机软件行业技术人员的参考书。在分布式系统领域,我不知道还有没有更好的书,但我毫不犹豫地推荐这本书。——JanMadey《IEEEParallelandDistributedTechnology》杂志“介绍分布式系统的最好教科书。”——E.DouglasJensenMitre公司首席科学家,世界分布式实时系统权威本书旨在提供深入的分布式系统设计原理和实践方面的知识,读者通过学习可以掌握评价已有系统或设计新系统的方法。书中的实例研究阐述了每个主要论题的设计概念。本书已被爱丁堡大学、伊利诺依大学、卡内基—梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗彻斯特理工学院等世界众多名校采用为高级操作系统、计算机网络、分布式系统课程的教材。综合性网站www.cdk3.net和www.booksites.net/cdkbook为读者提供了补充资料(勘误、源代码等)。

图书目录

出版者的话
专家指导委员会
前言
第1章

分布式系统的特征

1
1.1

简介

1
1.2

分布式系统实例

2
1.2.1

因特网

2
1.2.2

企业内部网

3
1.2.3

移动计算和无处不在的计算

4
1.3

资源共享和Web

5
1.4

挑战

12
1.4.1

异构性

12
1.4.2

开放性

13
1.4.3

安全性

14
1.4.4

可伸缩性

14
1.4.5

故障处理

16
1.4.6

并发

17
1.4.7

透明性

17
1.5

小结

18
第2章

系统模型

21
2.1

简介

21
2.2

体系结构模型

22
2.2.1

软件层

22
2.2.2

系统体系结构

24
2.2.3

客户-服务器模型的变种

27
2.2.4

接口和对象

31
2.2.5

分布式体系结构的设计需求

32
2.3

基础模型

34
2.3.1

交互模型

35
2.3.2

故障模型

39
2.3.3

安全模型

42
2.4

小结

45
第3章

网络和网络互联

47
3.1

简介

47
3.2

网络类型

50
3.3

网络原理

52
3.3.1

数据包的传输

52
3.3.2

数据流

53
3.3.3

交换模式

53
3.3.4

协议

54
3.3.5

路由

59
3.3.6

拥塞控制

62
3.3.7

网络互联

62
3.4

因特网协议

65
3.4.1

IP寻址

67
3.4.2

IP协议

68
3.4.3

IP路由

70
3.4.4

IPv6

72
3.4.5

移动IP

74
3.4.6

TCP和UDP

75
3.4.7

域名

77
3.4.8

防火墙

77
3.5

网络实例研究:以太网.

无线LAN

和ATM

80
3.5.1

以太网

81
3.5.2

IEEE

802.11无线LAN

84
3.5.3

异步传输模式网络

86
3.6

小结

88
第4章

进程间通信

91
4.1

简介

91
4.2

因特网协议的API

92
4.2.1

进程间通信的特征

92
4.2.2

套接字

93
4.2.3

UDP数据报通信

94
4.2.4

TCP流通信

96
4.3

外部数据表示和编码

101
4.3.1

CORBA的公共数据表示(CDR)

102
4.3.2

Java对象序列化

103
4.3.3

远程对象引用

105
4.4

客户-服务器通信

106
4.5

组通信

111
4.5.1

IP组播—组通信的实现

112
4.5.2

组播的可靠性和排序

113
4.6

实例研究:UNIX系统的进程间通信

115
4.6.1

数据报通信

115
4.6.2

流通信

116
4.7

小结

117
第5章

分布式对象和远程调用

121
5.1

简介

121
5.2

分布式对象间的通信

124
5.2.1

对象模型

124
5.2.2

分布式对象

125
5.2.3

分布式对象模型

126
5.2.4

RMI的设计问题

127
5.2.5

RMI的实现

129
5.2.6

分布式无用单元回收

133
5.3

远程过程调用

134
5.4

事件和通知

137
5.4.1

分布式事件通知的参与者

138
5.4.2

Jini分布式事件规范

141
5.5

Java

RMI实例研究

142
5.5.1

创建客户程序和服务器程序

145
5.5.2

Java

RMI的设计和实现

147
5.6

小结

148
第6章

操作系统支持

153
6.1

简介

153
6.2

操作系统层

154
6.3

保护

156
6.4

进程和线程

157
6.4.1

地址空间

158
6.4.2

新进程的创建

160
6.4.3

线程

162
6.5

通信和调用

171
6.5.1

调用性能

172
6.5.2

异步操作

177
6.6

操作系统体系结构

179
6.7

小结

182
第7章

安全性

185
7.1

简介

185
7.1.1

威胁和攻击

187
7.1.2

保护电子事务

189
7.1.3

设计安全系统

190
7.2

安全技术概述

192
7.2.1

密码学

192
7.2.2

密码学的应用

192
7.2.3

证书

195
7.2.4

访问控制

196
7.2.5

凭证

198
7.2.6

防火墙

199
7.3

加密算法

200
7.3.1

保密密钥(对称)算法

203
7.3.2

公开密钥(非对称)算法

205
7.3.3

混合密码协议

207
7.4

数字签名

207
7.4.1

公开密钥数字签名

209
7.4.2

保密密钥数字签名—MAC

209
7.4.3

安全摘要函数

210
7.4.4

证书标准和证书权威机构

212
7.5

密码实用学

213
7.5.1

加密算法的性能

213
7.5.2

密码学的应用和政治障碍

213
7.6

实例研究:Needham-Schroeder.


Kerberos.

SSL和Millicent

215
7.6.1

Needham-Schroeder认证协议

215
7.6.2

Kerberos

216
7.6.3

使用安全套接字确保电子交易安全

220
7.6.4

小额电子交易:Millicent协议

223
7.7

小结

226
第8章

分布式文件系统

229
8.1

简介

229
8.1.1

文件系统的特点

231
8.1.2

分布式文件系统的需求

233
8.1.3

实例研究

234
8.2

文件服务系统结构

235
8.3

Sun网络文件系统

239
8.4

Andrew文件系统

248
8.4.1

实现

250
8.4.2

缓存的一致性

253
8.4.3

其他方面

255
8.5

最新进展

255
8.6

小结

260
第9章

命名服务

263
9.1

简介

263
9.2

命名服务和域名系统

265
9.2.1

名字空间

266
9.2.2

名字解析

269
9.2.3

域名系统

271
9.3

目录服务和发现服务

277
9.4

实例研究:全局命名服务

279
9.5

实例研究:X.500目录服务

282
9.6

小结

285
第10章

时间和全局状态

289
10.1

简介

289
10.2

时钟.

事件和进程状态

290
10.3

同步物理时钟

292
10.3.1

同步系统中的同步

293
10.3.2

同步时钟的Cristian方法

293
10.3.3

Berkeley算法

294
10.3.4

网络时间协议

295
10.4

逻辑时间和逻辑时钟

297
10.5

全局状态

300
10.5.1

全局状态和一致割集

301
10.5.2

全局状态谓词.

稳定性.

安全性
和活性

303
10.5.3

Chandy和Lamport的“快照”算法

303
10.6

分布式调试

307
10.6.1

观察一致的全局状态

308
10.6.2

求解可能的f

309
10.6.3

求解明确的f

310
10.6.4

在同步系统中求解可能的f和
明确的f

311
10.7

小结

311
第11章

协调和协定

315
11.1

简介

315
11.2

分布式互斥

318
11.3

选举

324
11.4

组播通信

327
11.4.1

基本组播

329
11.4.2

可靠组播

329
11.4.3

有序组播

332
11.5

共识和相关问题

339
11.5.1

系统模型和问题定义

339
11.5.2

同步系统中的共识问题

342
11.5.3

同步系统中的拜占庭将军问题

343
11.5.4

异步系统的不可能性

346
11.6

小结

347
第12章

事务和并发控制

351
12.1

简介

351
12.1.1

简单的同步机制(无事务)

352
12.1.2

事务的故障模型

353
12.2

事务

354
12.2.1

并发控制

357
12.2.2

事务放弃时的恢复

360
12.3

嵌套事务

362
12.4

364
12.4.1

死锁

369
12.4.2

在加锁机制中增加并发度

372
12.5

乐观并发控制

374
12.6

时间戳排序

377
12.7

并发控制方法的比较

383
12.8

小结

384
第13章

分布式事务

389
13.1

简介

389
13.2

平面分布式事务和嵌套分布式事务

390
13.3

原子提交协议

392
13.3.1

两阶段提交协议

393
13.3.2

嵌套事务的两阶段提交协议

395
13.4

分布式事务的并发控制

398
13.4.1

399
13.4.2

时间戳排序并发控制

399
13.4.3

乐观并发控制

400
13.5

分布式死锁

401
13.6

事务恢复

406
13.6.1

日志

408
13.6.2

影子版本

410
13.6.3

为何恢复文件需要事务状态
和意图列表

411
13.6.4

两阶段提交协议的恢复

411
13.7

小结

414
第14章

复制

417
14.1

简介

417
14.2

系统模型和组通信

419
14.2.1

系统模型

419
14.2.2

组通信

421
14.3

容错服务

425
14.3.1

被动(主备份)复制

427
14.3.2

主动复制

429
14.4

高可用服务

430
14.4.1

gossip系统

431
14.4.2

Bayou系统的操作变换方法

438
14.4.3

Coda文件系统

439
14.5

复制数据上的事务

444
14.5.1

用于复制事务的体系结构

445
14.5.2

可用拷贝复制

446
14.5.3

网络分区

448
14.5.4

带验证的可用拷贝

449
14.5.5

法定数共识方法

449
14.5.6

虚拟分区算法

451
14.6

小结

453
第15章

分布式多媒体系统

457
15.1

简介

457
15.2

多媒体数据的特征

460
15.3

服务质量管理

461
15.3.1

服务质量协商

464
15.3.2

许可控制

468
15.4

资源管理

469
15.5

流适应

470
15.5.1

调整

471
15.5.2

过滤

471
15.6

实例研究:Tiger视频文件服务器

472
15.7

小结

475
第16章

分布式共享内存

477
16.1

简介

477
16.1.1

消息传递机制和DSM的比较

478
16.1.2

DSM的实现方法

479
16.2

设计问题和实现问题

481
16.2.1

结构

481
16.2.2

同步模型

482
16.2.3

一致性模型

483
16.2.4

更新选项

486
16.2.5

粒度

487
16.2.6

系统颠簸

488
16.3

顺序一致性和Ivy

488
16.3.1

系统模型

488
16.3.2

写失效

489
16.3.3

失效协议

491
16.3.4

一个动态分布式管理器算法

492
16.3.5

系统颠簸

494
16.4

释放一致性和Munin

494
16.4.1

内存访问

495
16.4.2

释放一致性

496
16.4.3

Munin

497
16.5

其他一致性模型

499
16.6

小结

500
第17章

CORBA实例研究

503
17.1

简介

503
17.2

CORBA

RMI

504
17.2.1

CORBA客户和服务器举例

506
17.2.2

CORBA体系结构

509
17.2.3

CORBA接口定义语言

511
17.2.4

CORBA远程对象引用

515
17.2.5

CORBA语言映射

515
17.3

CORBA服务

516
17.3.1

CORBA命名服务

517
17.3.2

CORBA事件服务

519
17.3.3

CORBA通知服务

520
17.3.4

CORBA安全服务

522
17.4

小结

522
第18章

Mach实例研究

527
18.1

简介

527
18.1.1

设计目标和主要设计特点

528
18.1.2

Mach主要的抽象概述

529
18.2

端口.

命名和保护

530
18.3

任务和线程

531
18.4

通信模型

533
18.4.1

消息

533
18.4.2

端口

534
18.4.3

mach_msg

系统调用

535
18.5

通信实现

535
18.5.1

透明消息传递

535
18.5.2

开放性:协议和驱动程序

537
18.6

内存管理

537
18.6.1

地址空间结构

538
18.6.2

内存共享:继承和消息传递

538
18.6.3

对写时复制的评价

539
18.6.4

外部分页

540
18.6.5

对访问内存对象的支持

541
18.7

小结

542
参考文献

545
索引