分布式计算机系统导论思维导图
2021-08-13 16:04:13 48 举报
AI智能生成
分布式计算机系统导论知识框架学习
作者其他创作
大纲/内容
📕第6章 分布式计算系统安全
📖6.1 安全性问题陈述
📝安全威胁与攻击
窃听
中止
篡改
伪造
📝安全策略与机制
密码与加密
数字签名与身份认证
服务授权与服务控制
审计
📖6.2 密码体制
📝6.2.1 对称密码体制
数学基础
有限域上的字节运算
字节加法运算
字节乘法运算
字节多项式乘法逆
有限域上的多项式系数运算——字运算
多项式加法
多项式模乘积
多项式模乘法逆
AES加密算法
加密过程
字节替换变换
行移位变换
列混淆变换
AES轮密钥扩展
字替换
字旋转
轮常数
AES解密算法
解密过程
逆行移位变换
逆字节替换变换
逆列混淆变换
轮密钥加变换
📝6.2.2 非对称密码体制
密钥生成
加密算法
解密算法
📝6.2.3 散列函数
MD5函数
SHA-1
📖6.3 安全通道与认证
📝6.3.1 数字签名
数字签名体制
数字签名含义
数字签名的特征与安全
数字签名应具有的特征
可验证性:接收方能验证发送方的签名是否真实有效。
不可伪造性:除了签名人外,任何人都不能伪造签名人的合法签名。
不可否认性:发送方发出签名的消息给接收方后,就不能否认他所签发的消息。
数据完整性:数字签名能够提供对签名人所签消息的完整检验。
数字签名能防止的攻击
唯密钥攻击(Key_Only Attack):攻击者只拥有签名人的公钥。
已知消息攻击( Known Message Attack):攻击者拥有签名人用同一密钥对若干不同信息的签名,据此形成伪造签名攻击。
选择消息攻击( Chosen Message Attack):攻击者可以自己选择若干消息,并获得签名人对这些消息的签名。
适应性选择消息攻击( Adaptive Chosen Message Attack):攻击者可自己选择一个消息并获得签名人对该消息的签名,经过分析后再选择一个对他有利的消息,再获得签名人的签名。后一个消息的选择依赖于前一系列消息的分析。
数字签名方案
公钥数字签名方案
签名过程
验证过程
对RSA公钥数字签名的攻击
对消息摘要签名
签名过程
验证过程
带密钥的数字签名MAC
📝6.3.2 身份认证
身份认证模型
单向认证
基于对称密钥的单向认证
基于公钥的单向认证
双向认证
基于对称密钥的双向认证
基于公钥的双向认证
📖6.4 通用安全服务
📝6.4.1 通用安全服务应用程序接口
GSS-API具体目标:
地层安全机制的独立性。
与协议环境无关。
与协议关联无关。
GSS-API调用
证书调用
安全通道建立调用
数据安全传输调用
GSS-API的数据结构——令牌格式
初始通道令牌
后续通道令牌
数据消息令牌
消息封装令牌
📝6.4.2 Kerberos认证系统
Kerberos的组成
Kerberos(KBS)的特点
利用对称密码体制:身份认证或客户/服务器之间数据传输的加密都是采用对称密钥。
跨域管理(Realm)建立安全通道:Kerberos可以在不同的管理域进立安全通道,跨越安全传输数据。
新人第三方KDC:Kerberos认证建立在通信双方都信任的第三方KDC基础之上。
Kerberos认证系统的组成与功能
客户或客户进程C
应用服务器(进程) S
密钥分发中心(KDC)
Kerberos证书与票据
证书:在Kerberos认证系统中,证书是一个票据加一个密钥,这个密钥是在认证中成功使用票据所必需的。
票据:
认证器:
Kerberos v5认证消息
客户与KDC之间得认证消息
客户与认证服务器之间的认证消息
客户C与票据批准服务器(TGS)之间认证消息
客户C与应用服务器S之间认证
KBP_AP_REQ请求消息
KBP_AP_REQ响应消息
加密与数据传输消息
安全数据传输消息
加密数据传输消息
📖6.5 访问控制与授权
📝6.5.1 访问控制
一般问题
访问控制矩阵
访问控制列表( Assess Control List,ACL)
权能( Capability)
保护域
📝6.5.2 访问授权
授权证书
证书颁发者(Issuer)
证书持有者( Subject)
权限传递( Delegation)
具体权限( Authorization)
有效期( Validity datas)
委托( Delegation)
📙第7章 网络存储技术
📖7.1 存储设备接入标准
📝7.1.1 SCSI结构模型
SCSI的组成
SCSI域
启动器( Initiator)
目标器( Target)
任务分发系统
SCSI接口总线
📝7.1.2 SCSI命令集
命令格式
操作码
LUN
逻辑块地址
逻辑块数
控制字节
状态
📝7.1.3 SCSI消息系统
消息系统的目的
消息格式
消息分类
链路断开( Disconnect)
修改数据指针( Modify Data Pointer)
保存数据支指针( Save Data Pointer)
恢复指针( Restore Pointer)
消息拒绝( Message Reject)
宽数据传输( Wide Data Transfer Request)
指认消息( Identify)
任务完成( Task Complete)
无操作消息( No Operation)
📝7.1.4 SCSI任务管理
任务属性
ACA任务
队列头任务
定序任务
简单任务
链接命令完成
任务管理
中止任务( Abort Task)
中止任务集( Abort Task Set)
清除ACA( Clear ACA)
目标器复位( Target Reset)
逻辑单元复位( Logical Unit Reset)
📖7.2 光通道技术
📝7.2.1 光通道协议层
FC-0层
FC-1层
FC-2层
FC-3层
FC-4层
📝7.2.2 光通道拓扑结构
光通道拓扑
点对点拓扑( Point to Point)
仲裁环拓扑( Arbitrated Loop)
交换式拓扑( Switched Fabric)
端点与端口
端点( Node)
端口( Port)
链路( Link)
世界名与端口标识符
世界范围名( World Wide Name,WWN)
端口标识符
📝7.2.3 光通道信息单元
SCSI映射
光通道帧结构
帧限定符
帧起始限定符( SOF)
帧结束限定符( EOF)
帧头部
帧类型及内容/控制字段R_CTL
目标器端口标识符D_ID
启动器端口标识符S_ID
帧协议类型字段Type
帧控制字段F_CTL
序列标识符SEQ_ID
数据场控制字段DF_CTL
序列计数SEQ_CNT
交换发起者标识符OX_ID
参数字段 Parameter
帧载荷
循环冗余校验码(CRC)
信息单元类型
命令/任务管理信息单元(FCP/CMND)
逻辑单元号(FCP_LUN)
命令参数号( Command Reference Number,CRN)
任务属性
任务管理标记
读数据与写数据(DRW)
命令描述块(FCP_CDB)
附加命令描述块(FCP_ACDB)
数据长度(FCP_DL)
分支主题
数据描述信息单元(FCP_XFER_RSP)
数据相对位移(FCP_DATA_RO)
数据突发长度(FCP_BURST_LEN)
数据信息单元(FCP_DATA)
命令响应(状态)信息单元(FCP_RSP)
控制字节CTL
确认请求位
剩余数下溢位
剩余数上溢位
检测长度有效位
响应长度有效位
SCSI状态码
剩余数FCP_RESID
检测信息长度FCP_SNS_LEN
响应信息长度FCP_RSP_LEN
检测信息FCP_SNS-INFO
响应信息FCP_RSP-INFO
响应确认信息单元(FCP_CONF)
光通道信息交换事例
FCP读操作
FCP写操作
FCP任务管理
📝7.2.4 光通道链路服务
定序集
基本链路服务
扩展链路服务
进程登录与去登录
进程登录PRLI与去登录PRLO载荷
进程登录与去登录应答
📖7.3 附网存储器存储域网
📝7.3.1 存储域网
SAN适用于
任务关键数据库应用。
实现集中管理。
高可用性和高可靠性。
改善容灾与恢复。
📝7.3.2 附网存储
NSA适用于
共享文件服务。
易于部署。
共用企业网影响性能。
难于综合利用NAS装置。
📖7.4 基于IP的存储域网
📝7.4.1 iSCSI
iSCSI的优势在于
提供高度的互操作性,使用常规的Ethernet网卡和交换器,减少了特殊设备的需要。
企业IP人员熟悉IP标准,降低了安装与维护成本。
Internet实现全球传输,SAN部署不受距离的限制。
利用IP安全机制,容易实现加密和身份认证。
iSCSI协议层次
iSCSI概念
iSCSI端口
iSCSI任务
iSCSI连接与对话
iSCSI协议数据单元
iSCSI中的排序与编号
iSCSI登录(Login)
登录阶段的请求和响应序列是
登录初次请求;
登录部分响应(可选项);
更多的登录请求和响应(可选项);
登录最终响应。
建立会话与连接
协商安全机制
协商操作参数
去登录(Logout)
iSCSI协议数据单元格式
协议数据单元一般格式
基本头部段(BHS)
操作码(Opcode)
操作码特定字段
附加头部段总长度AHS_LEN
数据段长度DF_LEN
LUN/操作码特定字段
启动器任务标记(ITT)
附加头部段(AHS)
附加头部段长度(AHS_LEN)
AHS类型
数据段(DS)
头部摘要(HD)和数据摘要(DD)
iSCSI协议数据单元
SCSI命令协议数据单元
操作码字段OP
控制字段CTL
命令序号ComSN:确保在一个会话的多个连接上顺序分送命令。
期望状态序号ExpStatSN
明年描述块(CDB):16个字节是sSCS I的命令描述块。
SCSI响应协议数据单元
操作码字段OP
控制字段CTL
响应码
状态字段
数据段(DF)
状态序号StatSN
期望的命令序号ExpCmdSN
命令序号MaxCmdSN
数据移动层协议族iWARP
📝7.4.2 IP网承载光通道FCIP
FCIP协议模型
FC/FCIP实体对
FCIP链路
FCIP数据帧
封装协议
封装版本
协议P标记
标记
时间戳
FCIP帧长度
FCIP头部CRC
FCIP链路建立p196
FCIP特殊帧
源FC交换拓扑实体世界名
源FC/FCIP实体对标识符
连接暂停(随机数)
连接使用标记和连接使用码
目标FC交换拓扑实体世界名
K_A_TOV
FCIP链路建立与初始化
📗第8章 多副本一致性.DSM
📖8.1 一致性模型
📝8.1.1 数据为中心的一致性模型
严格一致性
顺序一致性
因果一致性
FIFO一致性
弱一致性
释放一致性
入口一致性
📝8.1.2 客户为中心的一致性模型
单调读
单调写
写后读
读后写
📖8.2 分发协议
📝8.2.1 副本分置
永久副本
服务器启动的副本
客户启动的副本
📝8.2.2 更新传播
状态与操作
传播更新通知
传播更新数据
传播更新操作
拉协议与推协议
租赁
组播和单播
📖8.3 一致性协议
📝8.3.1 主-从副本协议
远程单副本协议
远程主副本协议
迁移读/写协议
迁移主副本写协议
📝8.3.2 复制写协议
主动复制
带时间戳的原子组播
中央定序器
基于法定数量的协议
📝8.3.3 高速缓存相关性协议
📖8.4 分布式共享存储器
📝8.4.1 分布式共享存储器的问题
目的与结构
同步
修改选择与一致性
写-修改方式
写-无效方式
粒度与假共享
📝8.4.2 基于页面的分布式共享存储器
系统模型
数据结构
页面号:表示DSM的页面
锁:对本节点的进程请求页面进行同步,即一个页面一次只能由一个进程请求。
访问模式:规定页面是无操作(nil)、只读操作或者读-写操作。
页面的拥有关系:表示页面的副本是否为该页面的拥有者。
DSM运行时系统
读写操作与顺序一致性
副本拥有者和副本集
集中管理算法
锁:对不同节点的页面请求进行同步,一次只能有一个节点访问信息表的一个表项。
副本集:表示当前该页面进行读操作的副本数,页面拥有者根据这个副本集包含的副本发送多播写-无效信息。
当前拥有者:指出当前哪个节点是页面的拥有者。
固定分布管理算法
广播分布管理算法
动态分布管理算法
页面替换
📝8.4.3 共享变量的分布式共享存储器
系统结构
变量目录p227
锁(lock)
起始地址和长度
协议
状态位(Status bits)
副本集(Copyset)
可能拥有者(Probowner)
推迟修改队列DUQ
运行时系统(库)
V系统内核支持
变量类型
只读(Read-only)变量
迁移(Migratory)变量
写共享(Write shared)变量
生产者-消费者(Producer-consumer)变量
结果(Result)
私有(Private)变量
大量读(Read-mostly)变量
常规(Conventional)变量
多种一致性协议
常规(Conventional)变量一次性协议
只读(Read-only)变量一次性协议
迁移(Migratory)变量一次性协议
写共享(Write shared)变量一次性协议
📝8.4.4 基于对象的分布式共享存储器
📘第10章 分布式事物处理
📖10.1 分布式数据库简介
📝10.1.1 分布式数据库组成
分布式数据库管理系统(DDBMS)
用户接口
数据定位
策略选择
异构翻译
网络数据字典
网络访问程序
本地数据库管理系统
📝10.1.2 分布式数据库分类
综合型结构
联合性结构
同构型:有同一种数据模式、目录语言和查询语言。
异构型:由不同数据库管理系统互连而成。
📝10.1.3 分布式数据库视图
📖10.2 事物与事物类型
📝10.2.1 计算机事务处理
基本事物模型
X/Open模型
三个组件
应用程序(Application Program,AP)
事物管理器(Transaction Managers,TM)
资源管理器(Data Danagers,DM)
三个接口
TX接口:应用程序与事务管理器之间的接口,应用程序利用这个接口的openTransaction和closeTransaction启动和提交一个事务。
XA接口:事务管理器和资源管理器之间的双向接口,事务结束时它实现事务提交协议。
TA接口:资源管理器提供的本地接口,应用程序用来访问事务数据,执行计算。
全局事务模型
通信资源管理器(CRM):控制分布式事物之间的通信。
通信协议栈(OSITP):为分布式事物通过底层通信服务,它由CRM支持。
附加接口
AP_CRM接口:也称通信接口。模型指定了多个可移植的分布式事物处理的通信方式,包括点对点通信,客户/服务器通信和远程过程调用。
TM_CRM接口:也称XA+接口。支持跨TM全局信息流。
CRM_OSITP接口:提供分布式事物处理服务和编制接口。
事物属性(ACID属性)
原子性(Atomic)
一致性(Consistent)
隔离性(Isolated)
持久性(Durability)
📝10.2.2 事物串行化
事物不一致性的表现
修改丢失
非一致性提取
串行化等效交叉
📝10.2.3 事物中止恢复
“脏读”(Dirty Read)
事物可恢复性
避免级联中止
“过早写”(Premature Write)
严格事务执行
实现可恢复性
📝10.2.4 事物分类
单层事物
嵌套事物
嵌套事物的优点
在事务失效和并发访问方面,子事物对其父事物表现出有原子性。
在同一层上的子事物可以并发运行,增加了事物的并发性,但访问公共对象时必须串行化。
子事物可以独立提交。
当子事物中止时,父事物可以决定是提交或中止。
如果顶层事物提交,而且暂时提交的所有子事物没有终止的前辈,这些子事物也都最终提交。
分布式事务
📖10.3 分布式事物并发控制
📝10.3.1 事物加锁
对象加锁
操作冲突与锁的分类
二阶段加锁
并发控制
阻塞等待
死锁
锁的实现
锁实例提供给锁管理器调用的方法
获取锁acquire()
释放锁release()
等待wait()
通知全体notify all()
嵌套事物加锁
分布式事物加锁
📝10.3.2 事物时间戳
基本时间戳定序
多版本时间戳定序
保守时间戳定序
分布式事物时间戳定序
📝10.3.3 乐观并发控制
加锁并发控制的缺点
维护锁机制需要开销,而加锁很多情况下可以不需要。
加锁并发控制可能导致死锁。
为了避免级联式中止,直到事故结束是不会解锁的,这又降低了并发性。
事物阶段
工作(读)阶段
验证阶段
修改(写)阶段
事物验证
后向验证
前向验证
并行验证
饥饿
分布式乐观并发控制
📖10.4 两阶段提交协议
📝10.4.1 X/Open XA接口
调用ax_reg():在事务管理器中动态登录一个资源管理器。
调用ax_unreg():在事务管理器中动态去登录一个资源管理器。
调用xa_prepare():准备提交事务(提交协议第一阶段)。
调用xa_commit():事务管理器通知资源管理器提交(协议第二阶段),协议提交成功。
调用xa_roll back():事务管理器通知资源管理器回卷(协议第二阶段),协议事务管理器提交失败。
📝10.4.2 两阶段提交协议
二阶段提交
事物中止
📖10.5 分布式死锁检测
局部等待图
分布式死锁
📝10.5.1 死锁检测消息
事物表示
输入输出端口表示
I/O通路描述
死锁检测消息
📝10.5.2 集中式死锁检测
周期性检测
连续性检测
📝10.5.3 分布式死锁检测概述
周期性检测
连续性检测
📝10.5.4 死锁预防
📕第1章 概论
📖1.1 分布式计算的定义与挑战
📝1.1.1 分布式计算系统的定义
系统是由多个计算机/计算机族(集群)组成,这些计算机/集群可以是异构的。
这些计算机在物理上是独立的,在地理上是分散的,计算机运行其自身的操作系统,称为局部操作系统(也可以是异构的)。
各计算机的地位是平等的。
这些计算机组成一个整体,对用户是透明的,尽力呈现出单一系统视图。
📝1.1.2 分布式计算系统的要求
1.开放性
依赖于系统部件软件接口的规范说明和文档公开。(基于统一的同心协议和遵循公开的访问共享资源的标准化借口。)
2.可扩展性
可扩展分布式系统的设计存在的挑战
控制物理资源成本
控制性能损失
防止资源耗尽
避免性能瓶颈
3.异构性
异构表现在:
异构网络
异构计算机硬件
异构操作系统
异构程序设计语言
不同开发商的实现
隐蔽异构性的方法
中间件技术(Middleware)
虚拟机技术
4.透明性
1992年国际标准组织为分布式处理规定的透明性
访问透明性
位置透明性
并发透明性
失效透明性
复制透明性
迁移透明性
性能透明性
规模透明性
5.安全性
安全措施
身份认证技术
消息加密技术
访问控制技术
📝1.1.3 分布式计算系统的应用
科学计算与高性能应用
现代夸企业的电子商务应用
容错应用
固有的分布式应用
📖1.2 分布式计算系统的互连
📝1.2.1 共享存储器多处理机系统
基于总线的多处理机
基于交换的多处理机系统
📝1.2.2 同构多计算机系统
基于总进的多计算机系统
基于交换的多计算机系统
📝1.2.3 异构多计算机系统
📖1.3 分布式操作系统
📝1.3.1 分布式操作系统的组织
组织方法
纵向组织
横向组织
硬件结构
多处理机操作系统
支持并行高性能计算。
共享存储器中的数据被多个处理器访问,要求并发控制,并发控制机制可以是信号灯(semaphore),监控器(monitor)和加锁(lock)。
多处理机对用户是透明的,系统表现为单一视图,用户不知道有多个处理机存在。
通信是用共享存储器实现。
多计算机操作系统
支持并行高性能计算
系统由多台计算机通过高速互连而成,对用户表现为单一视图,即用户不知道有多个计算机存在。
每台计算机都有自己的操作系统内核,执行分布式操作系统的服务。
没有物理的共享存储器,为了执行,在共享存储器多处理机上开发的软件,多计算机操作系统往往包含由软件实现的分布式共享存储器。
各计算机进程之间的通信采用消息传送机制,不同的系统,消息的语义可能不同。
📝1.3.2 Amoeba
系统结构
处理机池
用户终端
服务器
微内核
进程与线程管理
进程
线程
存储管理
分段
段的映射
通信管理
远程过程调用RPC
组通信
FLIP协议
操作系统服务
文件(Bullet)服务器
目录服务器
副本服务器
运行服务器
自举服务器
TPC/IP服务器
📖1.4 计算机网络与中间件
📝1.4.1 网络操作系统
📝1.4.2 分布式系统中间件
中间件的地位
中间件的服务
命名服务
作业调度
高级通信服务
资源管理
数据的持久性
分布式事物
分布式文档系统
安全服务
📝1.4.3 中间件LSF
LSF组织结构
负载信息管理器(LIM)
远程执行服务器(RES)
LSLIB
LSF批处理
LSF作业调度
LSF多集群
LSF的应用
资源整合、集成和共享
设计阶段
实验阶段
生产阶段
组装阶段
📖1.5 分布式计算的模式
1.面向对象模式
2.面向服务模式
3.公用计算模式
4.志愿参与模式
📙第2章 名字服务
📖2.1 名字服务结构
📝2.1.1 名字与属性
名字
地址
标识符
属性
绑定与上下文
名字服务的形式
名字服务
目录服务
合约服务
📝2.1.2 名字空间
应有的功能和需满足的要求
应有的功能
增加名字项和绑定
撤销名字项和绑定
修改名字项和绑定
名字解析
应满足的要求
要能处理巨大数量的实体名字和服务巨大的行政组织
长生存期
高可用性
容忍不信任
名字图
挂接与挂载
访问外部名字服务器的协议名称
外部名字服务器的名称
外部名字空间中输出子数的名称,即挂载点的标识符。
📝2.1.3 名字服务器
名字空间划分与多副本
上下文集中管理
上下文分布管理
名字服务器组成
名字服务器操作
名字解析
缓存
多副本管理
通信
数据库
📝2.1.4 名字解析
迭代名字解析
递归名字解析
比较
📖2.2 域名系统
📝2.2.1 域名空间
域名分层
标号与域名
权限与委托
📝2.2.2 资源记录与主文件
资源记录
拥有者(Owner):是一个域名,从中可以找出该资源记录。
类型(Type):是一个16位的编码,指出资源记录中资源的类型。
类别(Class):是一个16位的编码,指出资源记录中资源的类别。
TTL:32位数,表明资源记录的生存期,以秒为单位。
RDATA:资源数据,它是可变长且与类型或类别有关,具体表明资源属性的数据。
主文件
📝2.2.3 域名服务器
数据库的区域划分
按类别(class)划分
按域名空间节点间切割(cut)划分
区域的维护与传送
全区域修改AXFR
递增区域修改IXFR
通知区域修改Notify
动态区域修改
域名服务器和区域分布
📝2.2.4 域名解析器
“桩”解析器
域名解析
递归解析
迭代解析
解析示例
📖2.3 目录服务X.500
📝2.3.1 目录服务模型
目录结构
目录信息树
可区分名
目录模式
目录服务组件
目录信息库
目录系统代理
目录用户代理
目录管理域
📝2.3.2 目录服务操作
查询链与转交
镜像操作绑定
层次操作绑定
📝2.3.3 目录服务协议
X.500协议栈
目录访问协议
绑定(Bind)
去绑定(Unbind)
读(Read)
比较(Compare)
列表(List)
搜索(Search)
撤销(Abandon)
增加目录项(Add Entry)
取消目录项(Remove Entry)
修改目录项(Modify Entry)
更改可区分名(Modify DN)
目录系统协议
目录信息镜像协议
绑定(Bind)
去绑定(Unbind)
合作镜像修改(Coordinate Shadow Update)
请求镜像修改(Request Shadow Update)
修改镜像(Update Shadow)
目录绑定操作管理协议
绑定(Bind)
去绑定(Unbind)
建立操作绑定(Sstablish Operational Binding)
修改操作绑定(Modify Operational Binding)
终止操作绑定(Terminate Operational Binding)
📝2.3.4 轻量目录访问协议
DAP协议问题
LDAP模型
LDAP操作集
📖2.4 活动目录域服务
📝2.4.1 ADDS结构模型
ADDS对象
ADDS结构
自治
隔离
目录域
域结构模型
单域
区域域
选择目录林根域
目录树
目录林
组织(企业)林(Organizational Forest)
资源林(Resource Forest)
受限访问林(Retricted Access Forest)
组织单元(Organizational unit)与组(Group)
组织单元与管理权限委托
目录对象分组与组策略应用
信任关系
📝2.4.2 域控制器
ADDS域操作
用户登录与目录查询
操作主持(Master)角色
模式操作主持
域命名操作主持
相对标识符(RID)操作主持
主域控制器PDC仿真器
基础设施操作主持
只读域控制器
ADDS与DNS集成
场地
ADDS管理界面p53
📝2.4.3 企业ADDS部署示例
📓第3章 分布式进程
📖3.1 分布式进程概述
📝3.1.1 进程与多线程
进程
进程的地址空间至少由三个区域组成
文本(Code)区域:是一个固定不可修改的区域,存放进程的程序代码。
数据堆(Heap)区域:由存储在二进制文件中的数值初始化,向高虚拟地址扩展。
堆栈(Stack)区域:程序调用时用来存放返回地址等,向低虚拟地址延伸。
共享存储器的应用
简化库代码的调用
有利于数据共享和通信
方便系统调用和机外处理
多线程
多线程系统的实现
用户模式线程库
内核管理与调度的线程
混合形式
多线程系统的应用
📝3.1.2 分布式进程创建
创建分布式进程
目标主机选择
位置策略
传输策略
执行环境建立
多线程的客户与服务器
多线程客户
多线程服务器
📖3.2 进程远程执行
📝3.2.1 远程执行概念
对远程执行的要求
应有一种机构来传播空闲处理机的可用信息,或识别分布式系统中这种空闲处理机。
远程执行应像进程在本地执行那样容易实现,即进程远程执行是透明的,应与位置无关。
进程远程执行抢占空闲节点(工作站),当它的拥有者要求使用时,应该立即停止远程执行,将工作站归还其主人,实现主人优先选择。
远程执行位置无关模型
远程服务节点的选择
远程服务节点的加入与退出
远程服务节点的选择
远程执行的实现
📝3.2.2 远程执行REXEC
REXEC结构
rexecd:运行在集群各节点上的守护进程。
rexec:客户进程,用户用来在REXEC上执行作业。
vexecd:一个多副本的守护进程,提供远程服务节点发现和选择功能。
远程服务节点的选择
客户请求远程服务节点
选择远程服务节点
过程执行的实现
用户本地运行环境的传播和重建。
本地信号(signal)和stdin转发。
远程stout和stderr转发。
由本地作业控制实现对远程作业进程控制。
📖3.3 进程迁移
📝3.3.1 进程迁移概念与过程
基本概念
进程迁移机制
迁移协商
创建恢复进程
中断被迁移进程运行
收集源处理机上被迁进程状态
传输被迁进程状态
恢复被迁进程状态
通告被迁进程的新位置
被迁进程恢复运行
操作转发
📝3.3.2 进程迁移策略:动态负载平衡
信息管理模块
负载信息衡量
信息收集策略
负载平衡模块
最常用的负载平衡激发方式
中央服务器触发方式
发送者触发方式
服务者触发方式
对称触发方式
自适应触发方式
📝3.3.3 进程迁移的实现
进程状态收集和恢复
进程状态收集
内部状态收集
外部状态收集
触发式状态收集
进程状态传输
进程状态恢复
转发机制
通信恢复
被迁进程到的新地址
建立进程地址映射表
采用特殊路由方式
保证不丢失任何消息
消息驱赶方法
消息转发方法
维护消息正确顺序
维护消息片顺序的方法:
增加标志信息
原子通信
维护不同消息的先后顺序的方法:
消息附加消息序号
采用特定机制保证处于迁移临界区消息的正确顺序
进程迁移算法分类
异步迁移算法
间接通信的迁移协议
直接通信的迁移协议
同步迁移算法
类异步迁移算法
地址映射表
消息驱赶机制
消息转发机制
缓存优先匹配机制
📖3.4 分布式对象
📝3.4.1 对象生成与适配
对象生成
对象适配器
📝3.4.2 分布式对象的特点
分布式对象具有以下特征
分布式对象位于网络何处、使用何种编程语言、编译器如何创建分布式对象以及他们运行于硬件和操作系统平台之上,对客户来说都是透明的。
每个分布式对象都定义有清晰的访问接口,分布式对象之间只能通过这些预先定义的接口进行访问,这些接口构成客户程序和服务器程序的协议。
面向对象的多层客户/服务器计算模型组织各种分布式对象。
分布式对象具有动态性,它们可以在网络上到处移动。
对象与客户绑定
远程方法调用
静态调用
动态调用
📘第4章 分布式系统通信
📖4.1 消息传送
📝消息传送模式
同步消息传送
阻塞发送/接收
非阻塞发送/接收
📝消息传送可靠性
至少一次:保证正确完成消息至少一次。它不妨碍消息复制,并且只有在接收端被消息触发的操作有等幂属性时才被使用。
至多一次:保证正确完成消息至多一次。在没有节点崩溃和网络断开情况下,它只能正确执行一次消息传送。
事物语句:它保证消息的原子性。不管节点崩溃或网络断开与否,它或者完成一次消息传送,或者什么也不做。
精确一次:无论在什么情况下,保证正确完成一次消息传送,不管是否有节点崩溃或网络断开,它接近某种程度的容错机构
📝双向消息
📖4.2 组通信
📝4.2.1 组通信的概念
进程组的组成
进程组的分类
封闭组与开放组
对等与层次组织
进程组成员的管理
组通信的应用
多副本容错
提高多副本数据修改效率
自发连网的服务发现
事件通知传播
📝4.2.2 组通信的实现
IP多播
JAVA多播类
📝4.2.3 可靠的组通信
基本的可靠组通信
解决组播消息丢失的方法:
分支主题
可靠多播的扩展性
不分层反馈抑制
分层反馈机制
原子多播
虚拟同步
消息排序
📖4.3 远程过程调用
📝4.3.1 RPC基本操作
本地过程调用
远程过程调用
📝4.3.2 参数传递
值参数传递
引用参数传递
参数的规范形式
桩的生成
📝4.3.3 RPC语义
客户不能定位服务器
请求消息丢失
应答消息丢失
服务器崩溃
客户崩溃
关于“流浪猫”,Nelson等人提出的4种处理建议。
清剿( Extermination)
转世( Reincarnation)
温和转世( Gentle Reincarnation)
期满( Expiration)
📝4.3.4 DEC/RPC
DEC简介
分布式文件服务
目录服务
安全服务
时间服务
DEC RPC的目标
接口定义语言
客户与服务器绑定
绑定过程
注册端口
注册服务
查找服务器
查找端口
客户有了应用服务器的网络地址和端口号,就可以与应用服务器进行RPC通信。
DEC RPC运行
📖4.4 远程对像方法调用
📝4.4.1 客户与对象绑定
远程对象引用
客户与对象绑定
隐式绑定
显式绑定
对象通信
📝4.4.2 远程方法调用
远程对象方法调用
静态方法调用
动态方法调用
远程方法调用语义
📖4.5 事件与通知
📝4.5.1 分布式事件通知
事件参与者
感兴趣的对象
事件
通知
预订者
观察对象
发布者
事件发送保证语义
观察者角色
转发
通知过虑
事件模式
通知音箱
📝4.5.2 Jini事件通知
事件设计的对象
事件发生器
远程事件监听者
远程事件
第三方代理
事件借口
远程事件监听者借口
远程事件类
事件生成器接口
第三方代理
📗第5章 分布式系统同步
📖5.1 时钟同步
📝5.1.1 物理时钟
时钟硬件
时间测量
太阳秒
国际原子时钟(TAI)
全球协调时钟(UTC)
📝5.1.2 时钟同步算法
Cristian算法
Berkeley算法
📝5.1.3 网络时间协议
设计目标与特点
分支主题
同步方式
多播模式
过程调用模式
对称模式
📖5.2 逻辑时钟
📝5.2.1 Lamport时间戳
事件先发生关系
逻辑时钟
逻辑时钟全定序
📝5.2.2 向量时间戳
📖5.3 选举算法
📝5.3.1 环算法
📝5.3.2 欺负算法
📖5.4 互斥算法
📝5.4.1 集中式算法
📝5.4.2 基于时间戳算法
Lamport算法
算法必须满足的要求
拥有资源的进程首先要放弃该资源,其他进程才能使用它。
对资源的请求是按它们提出的次序予以批准的。
被批准访问资源的进程最终能释放该资源,这样,每个请求最终都能被批准。
Ricart_Agrawala算法
📝5.4.3 基于令牌算法
逻辑环结构
无环结构
📝5.4.4 基于事件优先权算法
完全可靠网络算法
不可靠网络算法
📝5.4.5 共享K个相同资源的算法
0 条评论
下一页