进程通信01分解.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.6进程通信 2013级05班 1.进程通信的类型 陈海昊 P4~P16 2.消息传递通信的实现方式 张志成 P17~35 3.直接消息传递系统实例 荣玉华 P36~48 进程通信之进程通信的类型 管道通信系统 所谓“管道”,是用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名pipe文件 发送进程发送进程以字符流形式将大量数据送入管道,接收进程可从管道接收数据,二者利用管道进行通信,所以被称为管道通信 管道通信是一种单双工的通信系统。 管道的分类 1)无名管道 进程的亲缘关系一般指的是父子关系.管道一般用于两个不同进程之间的通信.当一个进程创建了一个管道,并调用fork创建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动的一种方式. 2)有名管道 有名管道也是一种半双工的通信方式,但是它允许无亲缘关系进程间的通信.但是由于其长期存在于系统之中,使用不当容易出错.所以普通用户一般不建议使用 客户机-服务器系统 前面所说的共享内存,消息传递等技术,虽然也可以用于实现不同计算机进程的双向通信,但客户机-服务器系统的通信机制,在网络环境的各种应用领域已成为当前主流的通信实现机制。 实现方法:1)套接字 2)远程过程调用和远程方法调用 套接字 一个套接字是一个通信表示类型的数据结构,通常套接字包括两类: 1)基于文件型 一个套接字关联到一个特殊的文件,通信双方通过对这个特殊文件的读写实现通信,原理类似于管道 2)基于网络型 通信双方运行在不同主机的网络环境下,被分配了一对套接字一个属于发送进程一个属于接收进程,接收方一旦接到请求就会接受并完成连接并实现进程间的通信,通信结束后系统会关闭接收方的套接字来撤销连接 套接字与管道通信的区别 1)套接字体系是全双工而管道通信是半双工 2)套接字机制不但可以单机的不同进程通信,而且使得跨网机器间进程可以通信。 3)套接字明确地将客户端与服务器区分开来,套接字可以实现多个客户端连到同一服务器。 远程过程调用和远程方法调用 远程过程调用是一个通信协议,它允许运行于一台主机系统上的进程调用另一台主机系统上的进程,如果涉及的软件采用面向对象编程,那么远程过程调用也可以被称为远程方法调用 远程过程的调用过程详见课本P70 消息传递实现方式 直接消息传递系统 直接消息传递系统 直接消息传递系统 直接消息传递系统 直接消息传递系统 直接消息传递系统 直接消息传递系统 间接通信方式 间接通信方式 间接通信方式 间接通信方式 进程与线程的关系和区别 进程与线程的关系和区别 进程与线程的关系和区别 进程与线程的关系和区别 直接消息传递系统实例 制作人:荣玉华 直接消息传递系统实例 重要问题 1.低级通信和高级通信 低级通信:效率低;通信不透明,只为进程通信提供了共享存储器。 高级通信:使用方便;高效地传输大量数据。 2.消息在传递中的两种方式 直接通信 间接通信 直接通信:发送进程利用OS所提供的发送命令(原语),直 接把消息发送给目标进程。 间接通信:发送和接收进程,都通过共享中间体(称为邮箱)的方式经行消息的发送和接受,完成进程间的通信。 重要问题 3.管道通信含义 所谓“管道”,是用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名pipe文件 发送进程发送进程以字符流形式将大量数据送入管道,接收进程可从管道接收数据,二者利用管道进行通信,所以被称为管道通信 3)进程的同步方式 等接收者回信后才继续向前执行,称为阻塞发送 发送完消息后不等回信继续执行,称为不阻塞发送 直到收到发送进程的消息。称为阻塞接收 不要求进程等待,当需要信件时,去查找并接收信件,需要时再发送回答信件。称为非阻塞接收 3)进程的同步方式 (1)发送进程阻塞,接受进程阻塞(主要用于进程之间紧密同步,发送进程和接受进程之间无缓冲) (2)发送进程不阻塞,接受进程阻塞(应用最广泛的进程同步方式) (3)发送进程和接受进程均不阻塞(较常见的进程同步方式) 4)通信链路(communication link):在发送进程和接收进程之间为信息传送而建立的一条通路 根据建立方式分为: 显示建立:由发送进程利用建立命令建立,用完后用删除命令拆除。(网络中) 隐式建立:利用发送命令(原语),系统自动建立。(单机中) 根据连接方式分为: 点点连接:一条链路只有两个结点。 多点连接:一条链路连接多个结点。 根据通信方向分为: 单向:发送进程 接收进程。 双向:进程 进程 根据链路的容量分

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档