下载此文档

第五节 进程通信.ppt


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
第五节进程通信
概述
共享内存
消息传递方式
共享文件方式(管道方式)
1
一、概述
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
  • 上传人13431315
  • 文件大小178 KB
  • 时间2017-12-18