系统编程 分布式应用的设计开发 自动发货

系统编程 分布式应用的设计开发

发布时间: 2020-02-20

类型 视频 授权 免费 百度网盘 自动发货 发布者 itkec

¥免费

立即下载 加入收藏

   关注度:140 ℃

开通VIP会员 享受全站资源免费下载

视频详情:

课程名称:系统编程 分布式应用的设计与开发


内容简介:

本书用系统思维讲解分布式应用的设计与开发,以“进程、通信、课程、体系结构”四个视角为核心,跨越不同[0学0]科的界限,强调系统透明性。本书在实践教[0学0]方[mian]尤为[0独0]到:既有贯穿各章的[0大0]型游戏案例,又有探究不同系统特性的课内仿真实验;不仅[扌是]供步骤详尽的方[0法0]指导,而且免费[扌是]供专为本书开发的Workbench仿真工具和源代码。

本书自成体系的风格和配置灵活的实验工具可满足不同层次的教[0学0]需求,适合作为[mian]向实践的分布式系统课程的教材,也适合从事分布式应用开发的技术人员自[0学0]。


课程目录:

出版者的话

译者序

前言

[0第0]1章 绪论1

1.1 基本原理1

1.1.1 计算[1机1]科[0学0]的传统讲授方[0法0]1

1.1.2 本书采用的系统方[0法0]2

1.2 网络和分布式系统在现代计算中的重要性—简明历[0史0]回顾4

1.3 分布式系统简介6

1.3.1 分布式系统的[0优0]势和挑战6

1.3.2 分布的本质7

1.3.3 分布式应用程序的软[亻牛]体系结构8

1.3.4 分布式系统与应用的质量度量指标9

1.3.5 透明性简介9

1.4 案例研究简介10

1.4.1 [1主1]案例研究(分布式游戏)11

1.4.2 附加案例研究11

1.5 教辅材料和练习简介12

1.6 交互式教[0学0]工具Workbench套[亻牛]14

1.7 示例代码和相关练习14

[0第0]2章 进程视角16

2.1 基本原理和概述16

2.2 进程16

2.2.1 基本概念16

2.2.2 创建进程16

2.3 进程调度21

2.4 实时系统调度46

2.5 在现代操作系统中使用的特定调度算[0法0]及其变体56

2.6 进程间通信57

2.7 线程:导论62

2.7.1 一般概念62

2.7.2 线程实现62

2.7.3 线程调度方[0法0]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

[0第0]3章 通信视角90

3.1 基本原理和概述90

3.2 通信视角90

3.3 通信技术91

3.3.1 单向通信91

3.3.2 请求-应答通信96

3.3.3 [0双0]向数据传输100

3.3.4 寻址方[0法0]100

3.3.5 远程过程调用103

3.3.6 远程方[0法0]调用105

3.4 通信的分层模型107

3.4.1 OSI模型109

3.4.2 TCP/IP模型110

3.5 TCP/IP协议簇111

3.5.1 IP112

3.5.2 TCP113

3.5.3 TCP连接115

3.5.4 UDP116

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 熟[0知0]端口号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 [mian]向业务逻辑的通信整合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

[0第0]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 恢复[1机1]制及其与网络拥塞的相互作用215

4.7 虚拟课程217

4.7.1 套接字218

4.7.2 端口218

4.7.3 网络地址218

4.7.4 课程[0名0]称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

[0第0]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 软[亻牛]体系结构分类[0法0]246

5.6.1 单层应用程序247

5.6.2 [0双0]层应用程序247

5.6.3 三层应用程序248

5.6.4 多层应用程序248

5.7 客户端-服务器249

5.7.1 客户端和服务器的生命周期249

5.7.2 连接的[1主1]动方和被动方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 虚拟[1机1]283

5.14.2 Java虚拟[1机1]284

5.15 静态和动态配置285

5.15.1 静态配置285

5.15.2 动态配置286

5.15.3 上下文感[0知0]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

[0第0]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 [0名0]称服务325

6.4.1 [0名0]称服务的运行326

6.4.2 目录服务327

6.4.3 [0名0]称服务设计和实现的挑战332

6.5 域[0名0]系统333

6.5.1 域[0名0]空间334

6.5.2 DNS实现336

6.5.3 DNS[0名0]称服务器:[0[0权0]0]威和授[0[0权0]0]338

6.5.4 复制339

6.5.5 [0名0]称解析的进一步细节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 选举算[0法0]352

6.7.1 操作简介353

6.7.2 bully选举算[0法0]354

6.7.3 ring选举算[0法0]355

6.7.4 [令页]导者预选356

6.7.5 针对一个选举算[0法0]的探索356

6.8 组通信 362

6.9 通[0知0]服务363

6.10 中间[亻牛]:[1机1]制和操作365

6.11 中间[亻牛]例子和支持技术367

6.11.1 公共对象请求代理体系结构367

6.11.2 接口定义语言373

6.11.3 可扩展标记语言375

6.11.4 对象表示[0法0]376

6.11.5 Web服务与REST376

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

[0第0]7章 案例研究:融[0会0]贯通384

7.1 基本原理和概述384

7.2 用例说明384

7.3 案例研究1:时间服务客户端(基于库)385

7.3.1 [0学0]习目标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:事[亻牛]通[0知0]服务397

7.4.1 [0学0]习目标398

7.4.2 需求分析398

7.4.3 体系结构和代码结构399

7.4.4 关注点的分离399

7.4.5 组[亻牛]之间的耦合与绑定400

7.4.6 设计的通信特性401

7.4.7 事[亻牛]通[0知0]服务的应用程序使用场景示例405

7.4.8 测试407

7.4.9 事[亻牛]通[0知0]服务的透明性410

7.4.10 案例研究课程410

7.5 分布式应用程序的[0优0]秀设计实践410

7.5.1 需求分析410

7.5.2 架构方[mian]411

7.5.3 通信方[mian]412

7.5.4 尽可能重用代码412

7.5.5 为通过测试的代码和信任的代码创建库412

7.5.6 测试方[mian]413

7.6 章末练习414

7.6.1 编程练习414

7.6.2 配套课程列表414

索引416


课程截图:

1.png

版权信息:本站所有资源均收集于互联网或会员发布,仅供学习与参考,请勿用于商业用途,如有侵犯您的版权,请您出示版权证明及时联系客服,我们将在24小时之内删除。

暂无评论

嘿,我来帮您!