第9章分布式系统中的通信问题 进程间通信机制 基于共享内存(生产者-消费者,信号量) 基于消息传递 分布式系统和单处理机系统的最重要区别: 进程间通信
第9章 分布式系统中的通信问题 • 进程间通信机制 基于共享内存(生产者-消费者,信号量) 基于消息传递 • 分布式系统和单处理机系统的最重要区别: 进程间通信
通信进程:双方必须持有协议 客户一服务器模型 消息交换机制 远程过程调用(RPc) 组进程通信
• 通信进程:双方必须持有协议 • 客户—服务器模型 • 消息交换机制 • 远程过程调用(RPC) • 组进程通信
9.1概述 分布式系统中的通信问题,应考虑以下方面: 发送策略:如何通过网络发送消息 连接策略:如何连接彼此通信的进程 争夺处理:发现并解决冲突要求和冲突现象 ·保密:消息内容的保密 通信机制
9.1 概述 分布式系统中的通信问题,应考虑以下方面: • 发送策略:如何通过网络发送消息 • 连接策略:如何连接彼此通信的进程 • 争夺处理:发现并解决冲突要求和冲突现象 • 保密:消息内容的保密 • 通信机制
发送策略 物理信道 条多条 固定发送 事先规定好信道(最短信道),不再更改 虚拟线路 信道在一段时间内固定,可选不同信道 动态发送 在消息发送时确定信道(自动进行选择)
发送策略 • 固定发送 事先规定好信道(最短信道),不再更改 A B 物理信道 一条/多条 • 虚拟线路 信道在一段时间内固定,可选不同信道 • 动态发送 在消息发送时确定信道(自动进行选择)
连接策略 线路转换 建立永久性物理通信链路,通信期间其他进 程不能用(例子:电话系统) 消息转换 确定临时性物理通信链路,供消息传递期间 使用 消息+系统信息
连接策略 • 线路转换 建立永久性物理通信链路,通信期间其他进 程不能用(例子:电话系统) A B • 消息转换 确定临时性物理通信链路,供消息传递期间 使用 消息+系统信息
发送策略 消息包转换 逻辑消息(变长消息)一>定长消息,即消息 包 消息包到达>拼装消息
发送策略 A B • 消息包转换 逻辑消息(变长消息)--->定长消息,即消息 包 消息包到达--->拼装消息
争夺处理 条通信链路连接多个节点,产生争夺现象 冲突检测 传递消息前,监测通信线路是否空闲 若空闲,则可发送,否则等待并继续监测 问题: 系统性能衰减 应用:以太网系统
争夺处理 • 冲突检测 传递消息前,监测通信线路是否空闲 若空闲,则可发送,否则等待并继续监测 问题: 系统性能衰减 应用:以太网系统 一条通信链路连接多个节点,产生争夺现象
争夺处理 令牌传递 令牌:一个特殊的消息类型,不停地在系统 (环形结构)中循环 要传递消息的节点必须拿到令牌,才能传递 消息 问题 令牌丢失(由系统发现,产生新的令牌) 应用: Priment系统
争夺处理 • 令牌传递 令牌:一个特殊的消息类型,不停地在系统 (环形结构)中循环 要传递消息的节点必须拿到令牌,才能传递 消息 问题: 令牌丢失(由系统发现,产生新的令牌) 应用:Priment系统
争夺处理 消息槽 消息槽:存放定长的消息和有关控制信息 若干定长的消息槽连续不断地在系统中循环, 要传递消息地节点必须等到一个空消息槽到 达,才可将消息插入并附上适当的控制消息, 消息槽继续在网络中流动,到达某一节点时, 查看控制信息,确定是否由发给它的消息 应用:剑桥数字通信环
争夺处理 • 消息槽 消息槽:存放定长的消息和有关控制信息 若干定长的消息槽连续不断地在系统中循环, 要传递消息地节点必须等到一个空消息槽到 达,才可将消息插入并附上适当的控制消息, 消息槽继续在网络中流动,到达某一节点时, 查看控制信息,确定是否由发给它的消息 应用:剑桥数字通信环
保密 编码 编码,译码 基本通信机制 消息传递 远程过程调用
保密 • 编码 编码,译码 • 消息传递 • 远程过程调用 基本通信机制