下载此文档

第五节 进程通信.ppt


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
第五节进程通信?概述?共享内存?消息传递方式?共享文件方式(管道方式) 一、概述 1、进程通信的定义指并发进程之间的信息交换进程的同步与互斥机制就是一种通信的类型 2 2、进程通信的类型低级通信和高级通信?低级通信: 只能传递状态和整数值(控制信息),包括进程互斥和同步所采用的信号量和管程机制。优点的速度快。缺点是: ?传送信息量小: ?编程复杂:所有操作均由程序员完成; ?高级通信: 用户直接利用 OS提供的命令, 高效地传递大量数据的方式,实现细节对用户透明。能够传送任意数量的数据,包括三类: 共享存储区、消息传递、共享文件。 3 直接通信和间接通信?直接通信: 信息直接传递给接收方,如管道。–在发送时,指定接收方的地址或标识,也可以指定多个接收方或广播式地址; –在接收时,允许接收来自任意发送方的消息,并在读出消息的同时获取发送方的地址。?间接通信: 借助于收发双方进程之外的共享数据结构作为通信中转,如消息队列。通常收方和发方的数目可以是任意的。 4二、共享存储器方式共享内存方式 1、基于共享数据结构的通信方式: 数据结构和同步由程序员实现,效率低。 2、基于共享存储区的通信方式: 存储器划出一块共享存储区,由OS管理。 5 三、消息传递模式进程间的数据交换是以格式化的消息(message )为单位的。现代计算机系统中最广泛的通信机制, 通过原语实现。系统为进程提供了两个高级通讯原语 send 和 receive send :当要进行消息传递时执行 send receive :当接收者要接收消息时执行 receive 6 又有两种类型: ?消息缓冲在内存中开设缓冲区,发送进程将消息送入缓冲区,接收进程接收传递来的缓冲区。属于直接通信方式。?信箱通信属于间接通信方式。 7 1、消息缓冲通信(直接通信方式) 交换以消息( message )为单位(网络中称为报文) 发送进程直接将消息发送给接收进程,并将之挂在接收进程的消息缓冲队列上,接收进程直接从消息缓冲队列接收消息。需要建立、维持和撤消通信链路。发送进程发消息时要指定接收进程的名字, 反过来,接收时要指明发送进程的名字。 Send (receiver, message); Receive (sender, message); 8 在操作系统空间设置一组缓冲区,当发送进程需要发送消息时,执行 send 系统调用,产生自愿性中断,进入操作系统,操作系统为发送进程分配一个空缓冲区,并将所发送的消息从发送进程 copy 到缓冲区中,然后将该载有消息的缓冲区连接到接收进程的消息链链尾,如此就完成了发送过程。发送进程返回到用户态继续执行 9 在以后某个时刻,当接收进程执行到 receive 接收原语时,也产生自愿性中断进入操作系统, 由操作系统将载有消息的缓冲区从消息链中取出,并把消息内容 copy 到接收进程空间,之后收回缓冲区,如此就完成了消息的接收,接收进程返回到用户态继续进行。 10

第五节 进程通信 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人allap
  • 文件大小181 KB
  • 时间2017-05-17