系统编程 分布式应用的设计与开发PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:(英)理查德·约翰·安东尼(Richard John Anthony)著
- 出 版 社:北京:机械工业出版社
- 出版年份:2017
- ISBN:9787111582564
- 页数:427 页
第1章 绪论 1
1.1 基本原理 1
1.1.1 计算机科学的传统讲授方法 1
1.1.2 本书采用的系统方法 2
1.2 网络和分布式系统在现代计算中的重要性——简明历史回顾 4
1.3 分布式系统简介 6
1.3.1 分布式系统的优势和挑战 6
1.3.2 分布的本质 7
1.3.3 分布式应用程序的软件体系结构 8
1.3.4 分布式系统与应用的质量度量指标 9
1.3.5 透明性简介 9
1.4 案例研究简介 10
1.4.1 主案例研究(分布式游戏) 11
1.4.2 附加案例研究 11
1.5 教辅材料和练习简介 12
1.6 交互式教学工具Workbench套件 14
1.7 示例代码和相关练习 14
第2章 进程视角 16
2.1 基本原理和概述 16
2.2 进程 16
2.2.1 基本概念 16
2.2.2 创建进程 16
2.3 进程调度 21
2.4 实时系统调度 46
2.5 在现代操作系统中使用的特定调度算法及其变体 56
2.6 进程间通信 57
2.7 线程:导论 62
2.7.1 一般概念 62
2.7.2 线程实现 62
2.7.3 线程调度方法 63
2.7.4 同步(顺序的)与异步(并发的)线程操作 64
2.7.5 线程带来的额外复杂性 68
2.7.6 多线程IPC举例 70
2.8 操作系统的其他角色 77
2.9 程序中使用定时器 77
2.10 进程视角的透明性 80
2.11 进程视角的案例研究 80
2.11.1 调度要求 80
2.11.2 定时器的使用 81
2.11.3 多线程需求 81
2.11.4 IPC、端口和套接字 81
2.12 章末练习 82
2.12.1 问题 82
2.12.2 基于Workbench的练习 83
2.12.3 编程练习 87
2.12.4 章末问题答案 88
2.12.5 本章活动列表 88
2.12.6 配套资源列表 89
第3章 通信视角 90
3.1 基本原理和概述 90
3.2 通信视角 90
3.3 通信技术 91
3.3.1 单向通信 91
3.3.2 请求-应答通信 96
3.3.3 双向数据传输 100
3.3.4 寻址方法 100
3.3.5 远程过程调用 103
3.3.6 远程方法调用 105
3.4 通信的分层模型 107
3.4.1 OSI模型 109
3.4.2 TCP/IP模型 110
3.5 TCP/IP协议簇 111
3.5.1 IP 112
3.5.2 TCP 113
3.5.3 TCP连接 115
3.5.4 UDP 116
3.5.5 TCP和UDP的比较 118
3.5.6 TCP和UDP的选择 119
3.6 地址 119
3.6.1 扁平与分级编址 120
3.6.2 链路层地址 120
3.6.3 网络层地址 121
3.6.4 传输层地址(端口) 123
3.6.5 熟知端口号 124
3.7 套接字 125
3.7.1 套接字API:概述 126
3.7.2 套接字API:UDP原语序列 126
3.7.3 套接字API:TCP原语序列 130
3.7.4 绑定(进程到端口) 132
3.8 阻塞和非阻塞套接字行为 135
3.8.1 非阻塞套接字行为的处理 138
3.8.2 通信死锁 138
3.9 错误检测与校正 140
3.10 应用特定协议 142
3.11 面向业务逻辑的通信整合 143
3.12 帮助组件相互定位的技术 144
3.13 通信视角的透明性需求 145
3.14 通信视角的案例研究 146
3.15 章末练习 154
3.15.1 问题 154
3.15.2 基于Workbench的练习 154
3.15.3 编程练习 157
3.15.4 章末问题答案 157
3.15.5 Workbench练习的答案/结果 158
3.15.6 本章活动列表 159
3.15.7 配套资源列表 159
第4章 资源视角 169
4.1 基本原理和概述 169
4.2 CPU资源 169
4.3 通信中的存储器资源 170
4.4 内存管理 175
4.5 资源管理 185
4.5.1 私有存储空间资源的静态分配与动态分配 185
4.5.2 共享资源 189
4.5.3 事务 190
4.5.4 锁 190
4.5.5 死锁 193
4.5.6 资源复制 196
4.6 网络资源 197
4.6.1 网络带宽 197
4.6.2 数据压缩技术 202
4.6.3 消息格式 205
4.6.4 序列化 206
4.6.5 网络链路序列 209
4.6.6 路由器与路由 210
4.6.7 通信额外开销 215
4.6.8 恢复机制及其与网络拥塞的相互作用 215
4.7 虚拟资源 217
4.7.1 套接字 218
4.7.2 端口 218
4.7.3 网络地址 218
4.7.4 资源名称 219
4.8 分布式应用程序设计对网络效率的影响 220
4.9 资源视角的透明性 220
4.10 资源视角的案例研究 220
4.11 章末练习 223
4.11.1 问题 223
4.11.2 基于Workbench的练习 223
4.11.3 编程练习 226
4.11.4 章末问题答案 226
4.11.5 Workbench练习的答案/结果 227
4.11.6 本章活动列表 228
4.11.7 配套资源列表 228
第5章 体系结构视角 229
5.1 基本原理和概述 229
5.2 体系结构视角 229
5.2.1 关注点分离 230
5.2.2 网络化与分布性 230
5.2.3 分布式系统的复杂性 231
5.2.4 分层体系结构 232
5.2.5 层级体系结构 234
5.3 异构性 234
5.3.1 异构性的定义和来源 235
5.3.2 性能异构性 235
5.3.3 平台异构性 236
5.3.4 操作系统异构性 236
5.3.5 异构性影响 238
5.3.6 软件移植 239
5.4 硬件和系统级体系结构 240
5.4.1 紧耦合(硬件)系统 240
5.4.2 松散耦合(硬件)系统 240
5.4.3 并行处理 241
5.5 软件体系结构 242
5.6 软件体系结构分类法 246
5.6.1 单层应用程序 247
5.6.2 双层应用程序 247
5.6.3 三层应用程序 248
5.6.4 多层应用程序 248
5.7 客户端-服务器 249
5.7.1 客户端和服务器的生命周期 249
5.7.2 连接的主动方和被动方 250
5.7.3 CS体系结构模型 250
5.7.4 CS模型的变体 251
5.7.5 有状态服务与无状态服务 252
5.7.6 模块化和层级CS系统 253
5.8 三层和多层体系结构 254
5.9 对等体系结构 263
5.9.1 对等应用程序的特性 264
5.9.2 对等体系结构连接的复杂性 264
5.9.3 探索对等行为 265
5.10 分布式对象 268
5.11 中间件对软件体系结构的支持 270
5.12 提供集体资源和计算资源的系统模型 271
5.12.1 集群 272
5.12.2 网格 272
5.12.3 数据中心 272
5.12.4 云 273
5.13 软件库 273
5.13.1 软件库案例 275
5.13.2 静态链接和动态链接 280
5.13.3 语言相关的特性:C/C++头文件 281
5.14 硬件虚拟化 283
5.14.1 虚拟机 283
5.14.2 Java虚拟机 284
5.15 静态和动态配置 285
5.15.1 静态配置 285
5.15.2 动态配置 286
5.15.3 上下文感知 286
5.16 分布式应用程序的非功能性需求 287
5.16.1 复制 288
5.16.2 复制的语义 291
5.16.3 复制的实现 291
5.17 分布式应用程序与网络之间的关系 299
5.18 体系结构视角的透明性 300
5.19 体系结构视角的案例研究 301
5.19.1 有状态服务器设计 301
5.19.2 游戏组件的关注点分离 302
5.19.3 游戏应用程序的物理和逻辑体系结构 302
5.19.4 游戏的透明性 303
5.20 章末练习 304
5.20.1 问题 304
5.20.2 编程练习 305
5.20.3 章末问题答案 305
5.20.4 本章活动列表 307
5.20.5 配套资源列表 307
第6章 分布式系统 309
6.1 基本原理和概述 309
6.2 透明性 309
6.2.1 访问透明性 310
6.2.2 位置透明性 311
6.2.3 复制透明性 313
6.2.4 并发透明性 316
6.2.5 迁移透明性 319
6.2.6 故障透明性 320
6.2.7 规模扩展透明性 322
6.2.8 性能透明性 323
6.2.9 分布透明性 324
6.2.10 实现透明性 324
6.3 公共服务 324
6.4 名称服务 325
6.4.1 名称服务的运行 326
6.4.2 目录服务 327
6.4.3 名称服务设计和实现的挑战 332
6.5 域名系统 333
6.5.1 域名空间 334
6.5.2 DNS实现 336
6.5.3 DNS名称服务器:权威和授权 338
6.5.4 复制 339
6.5.5 名称解析的进一步细节 340
6.5.6 DNS中的缓存 341
6.5.7 探索地址解析 341
6.5.8 反向DNS查找 344
6.6 时间服务 344
6.6.1 时间服务简介 344
6.6.2 物理时钟同步 346
6.6.3 逻辑时钟与同步 350
6.7 选举算法 352
6.7.1 操作简介 353
6.7.2 bully选举算法 354
6.7.3 ring选举算法 355
6.7.4 领导者预选 356
6.7.5 针对一个选举算法的探索 356
6.8 组通信 362
6.9 通知服务 363
6.10 中间件:机制和操作 365
6.11 中间件例子和支持技术 367
6.11.1 公共对象请求代理体系结构 367
6.11.2 接口定义语言 373
6.11.3 可扩展标记语言 375
6.11.4 JavaScript对象表示法 376
6.11.5 Web服务与REST 376
6.11.6 简单对象访问协议 378
6.12 分布式系统的确定性和不确定性 379
6.13 章末练习 380
6.13.1 问题 380
6.13.2 编程练习 380
6.13.3 章末问题答案 381
6.13.4 本章活动列表 382
6.13.5 配套资源列表 382
第7章 案例研究:融会贯通 384
7.1 基本原理和概述 384
7.2 用例说明 384
7.3 案例研究1:时间服务客户端(基于库) 385
7.3.1 学习目标 385
7.3.2 需求分析 385
7.3.3 体系结构和代码结构 386
7.3.4 关注点的分离 390
7.3.5 组件之间的耦合与绑定 390
7.3.6 设计的通信特性 391
7.3.7 实现 394
7.3.8 测试 395
7.3.9 用例的透明性 396
7.3.10 案例研究资源 397
7.4 案例研究2:事件通知服务 397
7.4.1 学习目标 398
7.4.2 需求分析 398
7.4.3 体系结构和代码结构 399
7.4.4 关注点的分离 399
7.4.5 组件之间的耦合与绑定 400
7.4.6 设计的通信特性 401
7.4.7 事件通知服务的应用程序使用场景示例 405
7.4.8 测试 407
7.4.9 事件通知服务的透明性 410
7.4.10 案例研究资源 410
7.5 分布式应用程序的优秀设计实践 410
7.5.1 需求分析 410
7.5.2 架构方面 411
7.5.3 通信方面 412
7.5.4 尽可能重用代码 412
7.5.5 为通过测试的代码和信任的代码创建库 412
7.5.6 测试方面 413
7.6 章末练习 414
7.6.1 编程练习 414
7.6.2 配套资源列表 414
索引 416
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《古代巴比伦》(英)莱昂纳德·W.金著 2019
- 《BBC人体如何工作》(英)爱丽丝.罗伯茨 2019
- 《一个数学家的辩白》(英)哈代(G.H.Hardy)著;李文林,戴宗铎,高嵘译 2019
- 《莎士比亚全集 2》(英)莎士比亚著,朱生豪等译 2002
- 《莎士比亚戏剧精选集》(英)威廉·莎士比亚(William Shakespeare)著 2020
- 《莎士比亚 叙事诗·抒情诗·戏剧》(英)威廉·莎士比亚著 2019
- 《亚历山大继业者战争 上 将领与战役》(英)鲍勃·本尼特,(英)麦克·罗伯茨著;张晓媛译 2019
- 《孩子们的音乐之旅 1 宝宝睡觉 幼儿版》包菊英主编 2016
- 《超级参与者》王金强责编;赵磊译者;(澳)杰里米·海曼斯,(英)亨利·蒂姆斯 2020
- 《人鼠之间》(美)约翰·斯坦贝克著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019