分布式系统概念与设计(原书第3版)
|
|
| 新书城图书编号:654 |
| 图书ISBN:7111129563 |
| 出版时间:2004-1-1 |
| 出版社:机械工业出版社 |
| 作者:(英)George Coulouris,Jean Dollimore 等著,金蓓弘 等译 |
|
市场价格:¥59 |
|
普通会员:¥47.2
|
80折 |
|
VIP会员:¥44.25
|
75折 |
|
|
|
|
|
|
|
【图书简介】
|
本书旨在提供深入的分布式系统设计原理和实践方面的知识,读者通过学习可以掌握评价已有系统或设计新系统的方法。书中结合分布式系统技术主要的新进展,重点介绍了因特网、企业内部网、Web和中间件,还包括故障建模和容错、分布式对象和分布式多媒体系统。本书非常强调算法,并结合其他相关技术讨论了安全问题。 本书内容详实、覆盖面广且循序渐进,适合作为大中专院校计算机系高年级本科生及研究生的教科书和教学参考书,同时也可以作为计算机软件行业技术人员的参考书。 在分布式系统领域,我不知道还有没有更好的书,但我毫不犹豫地推荐这本书。 ——Jan Madey 《IEEE Parallel and Distributed Technology》杂志
“介绍分布式系统的最好教科书。” ——E.Douglas Jensen Mitre公司首席科学家,世界分布式实时系统权威 本书旨在提供深入的分布式系统设计原理和实践方面的知识,读者通过学习可以掌握评价已有系统或设计新系统的方法。书中的实例研究阐述了每个主要论题的设计概念。 本书已被爱丁堡大学、伊利诺依大学、卡内基—梅隆大学、南加州大学、得克萨斯A&M大学、多伦多大学、罗彻斯特理工学院等世界众多名校采用为高级操作系统、计算机网络、分布式系统课程的教材。
|
|
|
|
【图书目录】
|
出版者的话 专家指导委员会 前言 第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和Millicent215 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 索引 575
|
|
|
|