《分布式操作系统》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)(A.S.塔嫩鲍姆)Andrew S.Tanenbaum著;陆丽娜等译校
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1999
  • ISBN:7505354876
  • 页数:442 页
图书介绍:分布式操作系统是为分布式计算机系统配置的一种操作系统。本书涵盖了分布式操作系统的所有内容,并重点介绍设计和构造分布式操作系统的基本原理、算法和实现技术。全书共11章,前6章较全面地介绍了分布式系统环境中的通信、同步、进程、文件系统和存储器管理等方面的概念与算法;后4章详细地给出了4个分布式系统的实例:Amoeba、Mach、Chorus和DCE,介绍其设计思想和实现技术。 本书既注重基础知识

第1章 分布式系统概述 1

1.1 什么是分布式系统? 1

1.2 目标 2

1.2.1 分布式系统与集中式系统相比较而言的优点 2

1.2.2 分布式系统与独立PC机相比较的优点 4

1.2.3 分布式系统的缺点 5

1.3 硬件概念 6

1.3.1 基于总线的多处理机 8

1.3.2 交换型多处理机 9

习题 10

1.3.3 基于总线的多计算机 10

1.3.4 交换型多计算机 11

1.4 软件概念 11

1.4.1 网络操作系统 12

1.4.2 真正的分布式系统 14

1.4.3 多处理机分时系统 15

1.5 设计中的问题 17

1.5.1 透明性(Transparency) 17

1.5.2 灵活性 19

1.5.3 可靠性 20

1.5.4 性能 21

1.5.5 可伸缩性 22

1.6 小结 23

习题 24

2.1 分层协议 25

第2章 分布式系统的通信 25

2.1.1 物理层 27

2.1.3 网络层 29

2.1.4 传输层 29

2.1.5 会话层 30

2.1.6 表示层 30

2.1.7 应用层 30

2.2 异步传输模式网(ATM网) 30

2.2.1 什么是异步传输模式 30

2.2.2 ATM物理层 32

2.2.3 ATM层 32

2.2.4 ATM适配层 33

2.2.5 ATM交换 34

2.2.6 ATM对分布式系统的影响 35

2.3.1 客户机和服务器 36

2.3 客户-服务器模式 36

2.3.2 客户和服务器的一个示例 37

2.3.3 寻址 41

2.3.4 阻塞与非阻塞原语 43

2.3.5 有缓冲和无缓冲原语 45

2.3.6 可靠的和非可靠原语 46

2.3.7 客户-服务器模式的实现 47

2.4 远程过程调用 49

2.4.1 基本RPC操作 50

2.4.2 参数传递 53

2.4.3 动态捆绑 56

2.4.4 失败情况下的RPC语义 58

2.4.5 实现的问题 62

2.4.6 问题领域 70

2.5 组通信 72

2.5.1 组通信的引入(Introduction to Group Communication) 72

2.5.2 设计的问题 73

2.5.3 在ISIS(组合软件调用系统)中的组通信 80

2.6 小结 83

习题 84

第3章 分布式系统的同步 86

3.1 时钟同步 86

3.1.1 逻辑时钟 87

3.1.2 物理时钟 90

3.1.3 时钟同步算法 92

3.1.4 使用同步时钟 96

3.2 互斥 97

3.2.1集中式算法 97

3.2.2 分布式算法 98

3.2.3 令牌环算法 100

3.2.4 三种算法的比较 101

3.3 选举算法 102

3.3.1 欺负(Bully)算法 103

3.3.2 环算法 104

3.4 原子事务 105

3.4.1 原子事务简介 105

3.4.2 事务模型 106

3.4.3 实现 110

3.4.4 并发控制 113

3.5 分布式系统中的死锁 116

3.5.1 分布式死锁检测 117

3.5.2 分布式死锁预防 120

3.6 小结 122

习题 122

4.1.1 线程简介 124

第4章 分布式系统中的进程和处理机 124

4.1 线程 124

4.1.2 线程的用途 126

4.1.3 线程包的设计问题 128

4.1.4 实现一个线程包 130

4.1.5 线程和远程过程调用(RPC) 134

4.2 系统模型 136

4.2.1 工作站模型 136

4.2.2 使用空闲工作站 138

4.2.3 处理机池模型 141

4.2.4 混合模型 144

4.3 处理机分配 144

4.3.1 分配模型 144

4.3.2 处理机分配算法的设计问题 146

4.3.3 处理机分配算法的实现问题 148

4.3.4 处理机分配算法举例 149

4.4 分布式系统的调度 154

4.5 容错 155

4.5.1组成部件错误 156

4.5.2 系统失效 156

4.5.3 同步系统与异步系统 157

4.5.4 使用冗余 157

4.5.5 使用主动复制方法的容错 158

4.5.6 使用主机后备的容错 159

4.5.7 容错系统中的协同一致 161

4.6 实时分布式系统 163

4.6.1什么是实时系统? 163

4.6.2 设计问题 165

4.6.3 实时通信 168

4.6.4 实时调度 171

4.7 小结 176

习题 176

第5章 分布式文件系统 179

5.1 分布式文件系统设计 179

5.1.1 文件服务接口 179

5.1.2 目录服务器接口 181

5.1.3 文件共享的语义 185

5.2 分布式文件系统的实现 187

5.2.1 文件的使用 188

5.2.2 系统结构 189

5.2.3 高速缓存(caching,超缓存) 192

5.2.4 复制 196

5.2.5 例子:SUN公司的网络文件系统 199

5.2.6 学到的教训 204

5.3 分布式文件系统的发展趋势 205

5.3.1 新的硬件 205

5.3.2 规模 207

5.3.3 广域网 207

5.3.4 移动用户 208

5.3.5 容错 209

5.3.6 多媒体 209

5.4 小结 210

第6章 分布式共享存储器 212

6.1 简介 213

6.2.2 基于总线的多处理机 214

6.2 什么是共享存储器? 214

6.2.1 芯片存储器 214

6.2.3 基于环的多处理机 218

6.2.4 交换式多处理机 220

6.2.5 NUMA多处理机 224

6.2.6 分布式共享系统的比较 227

6.3 一致性模型 229

6.3.1 严格一致性(Strict Consistency) 230

6.3.2 顺序一致性(Sequential Consistency) 231

6.3.3 因果一致性(Causal Consistency) 234

6.3.4 PRAM一致性(PRAM Consistency)和处理器一致性(Processor Consistency) 235

6.3.5 弱一致性(Week Consistency) 236

6.3.6 释放一致性(Release Consistency) 238

6.3.7 入口一致性(Entry Consistency) 240

6.3.8 一致性模型总结 241

6.4 基于分页的分布式共享存储器 242

6.4.1 基本设计 242

6.4.2 复制 243

6.4.3 粒度(Granularity) 244

6.4.4 实现顺序一致性(Achieving Sequential Consistency) 245

6.4.5 寻找拥有者(Finding The Owner) 247

6.4.6 寻找拷贝 248

6.4.7 页面置换(Page Replacement) 249

6.4.8 同步 250

6.5 共享变量的分布式共享存储器 250

6.5.1 Munin 251

6.5.2 Widway 256

6.6 基于对象的分布共享内存 257

6.6.1 对象 258

6.6.2 Linda 259

6.6.3 Orca 264

6.7 比较 268

6.8 小结 269

习题 270

第7章 实例研究1:Amoeba 272

7.1 Amoeba介绍 272

7.1.1 Amoeba的发展史 272

7.1.2 研究目标 272

7.1.3 Amoeba的系统结构 273

7.1.4 Amoeba微内核 275

7.1.5 Amoeba服务器 276

7.2 Amoeba中的对象(object)和权能(capabilities) 277

7.2.1 权能Capability 277

7.2.2 对象保护 278

7.2.3 标准操作 279

7.3 Amoeba中的进程管理 280

7.3.1 进程 280

7.3.2 线程 282

7.4.2 段映射(mapped segments) 283

7.4 Amoeba中的内存管理 283

7.4.1 段(segment) 283

7.5 Amoeba的通信 284

7.5.1 远程过程调用(RPC) 284

7.5.2 Amoeba的组通信 287

7.5.3 快速本地互联协议FLIP(The Fast Local Internet Protocol) 293

7.6 Amoeba服务器 299

7.6.1 子弹服务器(Bullet Server) 299

7.6.2 目录服务器 302

7.6.4 运行服务器 306

7.6.3 复制服务器 306

7.6.5 引导服务器(the boot server) 308

7.6.6 TCP/IP服务器 308

7.6.7 其他服务器 308

7.7 小结 308

习题 309

第8章 实例研究2:Mach 311

8.1 有关Mach的介绍 311

8.1.1 Mach的发展历史 311

8.1.3 Mach微内核 312

8.1.2 Mach的设计目标 312

8.1.4 Mach的BSD UNIX服务器 314

8.2 Mach中的进程管理 314

8.2.1 进程 314

8.2.2 线程 316

8.2.3 调度 319

8.3 Mach的存储管理 321

8.3.1 虚拟内存 322

8.3.2 存储共享 324

8.3.3 外部存储管理器 326

8.6.4 Mach中的分布式共享存储 329

8.4 Mach中的通信 330

8.4.1 端口 330

8.4.2 消息的发送与接收 334

8.4.3 网络消息服务器 338

8.5 Mach的UNIX仿真 340

8.6 小结 341

习题 342

9.1.1 Chorus的发展史 343

9.1 Chorus简介 343

第9章 实例研究3:Chorus 343

9.1.2 Chorus的设计目标 344

9.1.3 Chorus系统结构 344

9.1.4 内核概念 346

9.1.5 内核结构 348

9.1.6 UNIX子系统 349

9.1.7 面向对象子系统 349

9.2 Chorus中的进程管理 349

9.2.1 进程 349

9.2.2 线程 350

9.2.3 调度 351

9.2.4 陷阱、异常和中断 352

9.2.5 进程管理的内核调用 353

9.3 Chorus的内存管理 354

9.3.1 区域和段 354

9.3.2 映像程序(Mapper) 355

9.3.3 分布式共享存储器 356

9.3.4 内存管理的内核调用 356

9.4.2 端口 358

9.4.1 消息 358

9.4 Chorus中的通信 358

9.4.3 通信操作 359

9.4.4 通信的内核调用 360

9.5 Chorus中的UNIX仿真 361

9.5.1 UNIX进程的结构 362

9.5.2 对UNIX的扩展 362

9.5.3 Chorus上UNIX的实现 363

9.6 COOL:一个面向对象的子系统 367

9.6.1 COOL的体系结构 367

9.6.3 COOL通用运行时系统 368

9.6.2 COOL基层 368

9.6.4 语言运行时系统 369

9.6.5 COOL的实现 369

9.7 Amoeba、Mach和Chorus的比较 369

9.7.1 指导思想 369

9.7.2 对象 371

9.7.3 进程 371

9.7.4 内存模式 372

9.7.5 通信 372

9.7.6 服务器 373

9.8 小结 374

习题 375

第10章 实例研究4:DCE 376

10.1 关于DCE的介绍 376

10.1.1 DCE的历史 376

10.1.2 DCE的目标 376

10.1.3 DCE部件 377

10.1.4 信元 379

10.2 线程 381

10.2.1 DCE线程介绍 381

10.2.2 调度 382

10.2.3 同步 383

10.2.4 线程调用 384

10.3 远程过程调用 387

10.3.1 DCE RPC的目标 387

10.3.2 客户与服务器的编写 387

10.3.3 客户到服务器的绑定 389

10.3.4 RPC的执行 390

10.4 时间服务 390

10.4.1 DTS时间模型 391

10.4.2 DTS实现 392

10.5 目录服务 394

10.5.1 名字 394

10.5.2 信元目录服务 395

10.5.3 全局目录服务 398

0.6 安全服务 401

10.6.1 安全模式 402

10.6.2 安全部件 403

10.6.3 许可证与鉴别码 404

10.6.4 认证过的RPC 405

10.6.5 访问控制表(ACL) 407

10.7 分布式文件系统 408

10.7.1 DFS接口 409

10.7.2 服务器核心中的DFS部件 411

10.7.3 客户内核中的DFS部件 413

10.7.4 用户空间中的DFS部件 415

10.8 小结 416

习题 417

11.1 阅读材料建议 419

11.1.1 介绍性和普通著作 419

第11章 读物列表与参考书目 419

11.1.2 分布式系统通信 420

11.1.3 分布式系统同步 420

11.1.4 分布式系统进程和处理机 421

11.1.5 分布式文件系统 422

11.1.6 分布式共享存储器 422

11.1.7 实例研究1:Amoeba 422

11.1.8 实例研究2:Mach 423

11.1.9 实例研究3:Chorus 423

11.1.10 实例研究4:DCE 423

11.2 文献目录(按字母顺序排列) 424