进程管理6进程通信

进程管理6进程通信

ID:40839754

大小:237.26 KB

页数:25页

时间:2019-08-08

进程管理6进程通信_第1页
进程管理6进程通信_第2页
进程管理6进程通信_第3页
进程管理6进程通信_第4页
进程管理6进程通信_第5页
资源描述:

《进程管理6进程通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.6进程通信(communication)进程通信:指进程间的信息交换。按通信内容可以划分为2种低级通信:进程之间控制信息的交换称为低级通信。一般只传送一个和几个字节的信息,达到控制进程执行速度的作用。(进程的同步和互斥)信号量机制作为同步工具是卓有成效的,但作为通讯工具则不够理想,(效率低。通讯对用户不透明。)高级通信:用户可以直接利用操作系统所提供的一组通信命令,高效地传送大量数据的一种通信方式。1进程的同步与互斥是一种通讯方式,一进程可通过修改变量或信号量告知另一进程,它是否可以继续执行下去,利用生产者——消费者算法,生产者

2、进程可以传送一批数据给消费进程,或者说生产者通过缓冲区与消费者进行通讯,但P、V操作只能传递信号,信号本身不包含任何数据,而进程不当还容易导致进程死锁,因此,称这些同步机构为低级通讯机构.2进程通信的类型一、单机系统中进程间通信的四种形式P62主从式、会话式、消息或邮箱机制、共享存储区方式二、高级通讯机制类型1共享存储器系统(Shared-MemorySystem)2消息传递系统(MessagepassingSystem)3管道(pipe)通信系统31共享存储器系统共享存储器系统:相互通讯的进程通过共享数据结构和存储区进行通讯,因而可进

3、一步分为:基于共享数据结构的通讯方式;(低效,只适于传递少量数据)基于共享存储区的通讯方式。为了传送大量数据,在存储区中划出一块共享存储区,诸进程可通过对共享存储区进行读或写数据实现通讯。向系统申请共享存储区中的一个分区指定该分区的关键字如果已经给其他进程分配了这样的存储区,将使用分区的描述符返回给申请者4申请者将申请到的共享分区挂到本进程上返回42消息传递系统在消息传递系统中,进程间的数据交换是以消息(message,在计算机网络中又称报文)为单位。程序员直接利用系统提供的一组通讯命令(原语)来实现通讯。因其实现方法的不同,又可分

4、为直接通信方式(消息缓冲机制)间接通信方式(信箱通信方式)5直接通信方式:发送进程直接将消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上。接收进程从消息缓冲队列中取得消息。故称为消息缓冲机制。间接通信方式:发送进程将消息发送到某个中间实体(一般称为信箱)中,接收进程从中取得消息,所以称为信箱通讯方式,相应地系统称为电子邮件系统。6消息缓冲机制(直接通信)发送进程在自己的内存空间设置一个把要发送的消息填入发送区发送区接收区接收进程在自己的内存空间设置一个公用缓冲区两通信进程必须满足下列条件在发送进程把消息写入缓冲区和把缓冲区挂入

5、消息队列时,应禁止其他进程对缓冲区消息队列的访问。同理,接收进程取消息时也禁止其他进程访问缓冲区消息队列2当缓冲区中没有信息存在时,接收进程不能接收到任何消息7消息的一般形式消息缓冲通讯技术由Hansen首先提出的,基本思想是:根据“生产者——消费者关系”原理,利用公用消息缓冲区实现进程间的信息交换。发送进程先申请一个消息缓冲区,写入消息后把该消息缓冲区送入接收进程的消息队列中,通知接收进程。接收进程从消息队列中摘下一消息缓冲区,取出所需要的信息。8消息的一般形式:发送消息的进程名接收消息的进程名消息长度消息正文9消息缓冲通讯机构包含下

6、列内容:消息缓冲区是一个数据结构用Pascal描述为:typemsg=recorodsender:消息发送者名size:消息长度Text:消息正文Next:下一个消息的链指针10发送进程和接收进程发送原语Send()和接收原语receive()设公用信号量mutex,并置初值为1设SM为接收进程的私用信号量,置初值为0Send(m)begin向系统申请一个消息缓冲区P(mutex)使用公用缓冲区将发送区消息m送入新申请的消息缓冲区把消息缓冲区挂入接收进程的消息队列V(mutex)释放缓冲区V(SM)向接收进程发送消息endReceive

7、(m)beginP(SM)等待接的消息的个数P(mutex)使用公用缓冲区摘下消息队列中的消息m将消息队列m从缓冲区复制到接收区释放缓冲区V(mutex)释放公用缓冲区end11邮箱通信(间接通信)1. 信(邮)箱信箱是一种数据结构,逻辑上它分成两部分:信箱头和由若干格子组成的信箱体。信箱中每个格子存放一封信,信箱中格子的数目和每格的大小在创建信箱时确定。进程间的通信要满足如下条件:a.发送进程发送消息时,邮箱中至少要有一个空格存放该消息。b.接收进程接收消息时,邮箱中至少要有一个消息存在。12信箱可由OS创建,也可由用户进程创建,创建

8、者是信箱的拥有者,据此可把信箱分为:私用信箱,公用信箱,共享信箱。在利用信箱通信时,在发送进程和接收进程之间,存在着四种关系:一对一关系:即可以为发送进程和接收进程建立一条专用的通信链路;多对一关系:允

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。