- 1、本文档共148页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[其它]2进程管理
in=0; out=0; count=0 void put(item); { if count=n then notfull.wait; buffer(in):=nextp; in:=(in+1) mod n; count:=count+1; if (notempty.queue) notempty.signal; } void get(item); { if count=0 then notempty.wait; nextc:=buffer(out); out:=(out+1) mod n; count:=count-1; if (notfull.queue) notfull.signal; } producer: begin repeat produce an item; PC. put(item); until false; end consumer: begin repeat PC. get (item); consume the item; until false; end 生产者和消费者描述: 2.6 进 程 通 信 2.6.1 进程通信的类型 2.6.2 消息缓冲队列通信机制 进程之间互相交换信息的工作称为进程通信。 进程通信的类型: 低级通信:归结为进程之间的互斥和同步,一般只传送少量信息(信号量)。缺点:效率低,通信对用户不透明。 高级通信:能够高效传输大量数量数据的通信方式。又分为三类:共享存储器系统、消息传递系统、管道通信系统。 2.6.1 进程通信的类型 1. 共享存储器系统 相互通讯的进程通过共享数据结构和共享存储区进行通讯,可进一步分为: 基于共享数据结构的通信方式 进程之间通过某种数据结构,如缓冲池进行通信,属于低级通信方式。如生产者-消费者问题中的有界缓冲区。 基于共享存储区的通信方式 为了传送大量信息,在存储器中划出一块共享存储区,诸进程可通过对共享存储区进行读或写来实现通信,属高级通信方式。 2. 消息传递系统 使用最广泛的一种进程通信机制。 进程间的数据交换以消息或报文为单位,程序员直接利用一组通信命令(原语)来实现通信。 操作系统隐藏了通信的实现细节,简化了通信程序编制的复杂性。 (1)直接通信方式 两条通信原语: Send(Receiver,message); Receive(Sender,message); 例如:Send(p2,m1); Receive(p1,m1); 发送进程可直接将消息发送给目标进程。 消息传递系统的分类: 消息传递系统分为:直接通信方式和间接通信方式 repeat … produce an item in nextp; … send(consumer, nextp); until false; 利用直接通信原语解决生产者-消费者问题: repeat receive(producer, nextc); … consume the item in nextc; until false; producer: consumer: (2)间接通信方式 进程间发送或接收消息通过信箱进行,消息可被理解成信件,也称信箱通信。 两条通信原语: Send(mailbox,message); Receive(mailbox,message); 注意:用户不必写出接收进程标识符,从而可以向不知名的进程发送消息;另外,消息在信箱中可以安全的保存,只允许核准的目标用户随时读取,可实现非实时通信。 发送 进程A …邮箱体 邮箱头 接收 进程B 信箱由信箱头和由若干格子组成的信箱体组成。 信箱中每个格子存放一封信,信箱中格子的数目和每格的大小在创建信箱时确定。 进程间的通信要满足如下条件: ? a. 发送进程发送消息时,邮箱中至少要有一个空格存放该消息。 b. 接收进程接收消息时,邮箱中至少要有一个消息存在。 3. 管道(Pipe)通信系统 所谓管道,是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件,又称pipe文件
文档评论(0)