- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课件-第三章进程管理6(进程通信).ppt
3.6 进程通信(communication) 进程通信:指进程间的信息交换。 按通信内容可以划分为2种 低级通信:进程之间控制信息的交换称为低级通信。 一般只传送一个和几个字节的信息,达到控 制进程执行速度的作用。(进程的同步和互斥) 信号量机制作为同步工具是卓有成效的,但作为通讯工具则不够理想,(?效率低。?通讯对用户不透明。) 高级通信:用户可以直接利用操作系统所提供的一组通信命令,高效地传送大量数据的一种通信方式。 1 共享存储器系统 共享存储器系统:相互通讯的进程通过共享数据结构和存储区进行通讯,因而可进一步分为: ?基于共享数据结构的通讯方式;(低效,只适于传递少量数据) ?基于共享存储区的通讯方式。为了传送大量数据,在存储区中划出一块共享存储区,诸进程可通过对共享存储区进行读或写数据实现通讯。 2 消息传递系统 在消息传递系统中,进程间的数据交换是以消息(message,在计算机网络中又称报文)为单位。程序员直接利用系统提供的一组通讯命令(原语)来实现通讯。 因其实现方法的不同,又可分为 直接通信方式: 发送进程直接将消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上。接收进程从消息缓冲队列中取得消息。故称为消息缓冲机制。 间接通信方式: 发送进程将消息发送到某个中间实体(一般称为信箱)中,接收进程从中取得消息,所以称为信箱通讯方式,相应地系统称为电子邮件系统。 消息缓冲机制(直接通信) 邮箱通信(间接通信) 1.? 信(邮)箱 信箱是一种数据结构,逻辑上它分成两部分:信箱头和由若干格子组成的信箱体。 信箱中每个格子存放一封信,信箱中格子的数目和每格的大小在创建信箱时确定。 进程间的通信要满足如下条件: ? a.发送进程发送消息时,邮箱中至少要有一个空格存放该消息。 b.接收进程接收消息时,邮箱中至少要有一个消息存在。 信箱可由OS创建,也可由用户进程创建,创建者是信箱的拥有者,据此可把信箱分为:私用信箱,公用信箱,共享信箱。 在利用信箱通信时,在发送进程和接收进程之间,存在着四种关系: ?一对一关系:即可以为发送进程和接收进程建立一条专用的通信链路; ?多对一关系:允许提供服务的进程与多个用户进程进行交互,也称客户/服务器交互; ?一对多关系:允许一个发送进程与多个接收进程交互,使发送进程用广播的形式,发送消息; ?多对多关系:允许建立一个公用信箱,让多个进程都能向信箱投递消息,也可取走属于自己的消息。 管道 是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享方式,又称pipe文件。 向管道(共享文件)提供输入的发送进程(即写进程),以字符流形式将大量的数据送入管道;而接收管道输出的接收进程(即读进程),可从管道接收数据,由于发送和接收都是利用管道进行通信的,故称为管道通信。 为了协调双方的通信,管道通信机制必须提供以下三方面的协调能力: ?互斥。一个进程正在对pipe进行读/写操作时,另一进程必须等待。 ?同步。当写(输入)进程把一定数量的数据写入pipe后,便去睡眠等待,直到读(输出)进程取走数据将其唤醒;当读进程读一空pipe,也应睡眠等待,直至写进程将数据写入管道,才将其唤醒。 ?对方是否存在。只有确定对方已存在时,才能进行管道通信,否则会造成因对方不存在而无限期等待。 * 进 程 管 理 * 进程的同步与互斥是一种通讯方式,一进程可通过修改变量或信号量告知另一进程,它是否可以继续执行下去,利用生产者——消费者算法,生产者进程可以传送一批数据给消费进程,或者说生产者通过缓冲区与消费者进行通讯,但P、V操作只能传递信号,信号本身不包含任何数据,而进程不当还容易导致进程死锁,因此,称这些同步机构为低级通讯机构. 进程通信的类型 一、单机系统中进程间通信的四种形式 P62 主从式、会话式、消息或邮箱机制、共享存储区方式 二、高级通讯机制类型 1 共享存储器系统(Shared-Memory System) 2 消息传递系统(Message passing System) 3 管道(pipe)通信系统 向系统申请共享存储区中的一个分区 指定该分区的关键字 如果已经给其他进程分配了这样的存储区, 将使用分区的描述符返回给申请者 4 申请者将申请到的
文档评论(0)