计算机操作系统——进程管理.ppt

  1. 1、本文档共126页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用直接通信原语解决生产者--消费者问题 当生产者生产出一个产品(消息)后,便用Send原语将消息发送给消费者进程;而消费者进程则利用Receive原语来得到一个消息。若消息尚未产生出来,消费者必须等待,直至生产者进程将消息发送过来。 Producer: repeat … produce an item in nextp; … send(consumer, nextp); until false; Consumer: repeat receive(producer, nextc); … consume the item in nextc; until false; 2.间接通信方式 --通过信箱通信 信箱用来暂存发送进程发送给目标进程的消息,接收进程则从信箱中取出发送给自己的消息。 消息在信箱中可安全保存,只允许核准的目标用户随时读取 利用信箱通信方式,既可实时通信,又可非实时通信。 2.5.2 消息传递通信的实现方法 … Sender1 Sendern Receiver 信箱 信箱可由操作系统创建,也可由用户进程创建,创建者是信箱的拥有者。 信箱分类: 私用信箱 公用信箱 共享信箱 2.5.3 消息传递系统实现中的若干问题 1. 通信链路 分类: (1)根据通信链路的建立方式: 显示连接:先用 “建立连接”命令(原语) 建立一条通信链路; 通信; 用显式方式拆除链路。——用于计算机网络 隐式连接:发送进程无须明确提出建立链路的要求,直接利用系统提供的发送命令(原语),系统会自动地为之建立一条链路。——用于单机系统 为使发送进程和接收进程能够通信,必须在发送 进程和接收进程之间建立一条通信链路 (2)根据通信链路的连接方法 (3)根据通信方式的不同 点--点连接通信链路 多点连接通信链路 单向通信链路 双向链路 无容量通信链路 有容量通信链路 (4)根据通信链路容量的不同 2. 消息的格式 单机系统环境:环境相同,消息格式简单 计算机网络环境:环境不同,消息的传输距离很远 消息格式比较复杂。 2.5.3 消息传递系统实现中的若干问题 消息格式: 从消息长度分类: 比较短的定长消息格式 变长的消息格式 消息头:消息在传输时所需的控制信息 消息的正文:发送进程实际上所发送的数据 2.5.3 消息传递系统实现中的若干问题 3.进程同步方式 在进程之间进行通信时,辅以进程同步机制,使诸进程间能协调通信。 发送进程或接收进程在完成消息的发送或接收后,都存在两种可能性:进程或者继续发送(接收)或者阻塞。 发送进程阻塞、接收进程阻塞 发送进程不阻塞、接收进程阻塞 发送进程和接收进程均不阻塞 2.5.4 消息缓冲队列通信机制 发送进程利用Send原语,将消息直接发送给接收进程;接收进程利用Receive原语接收消息。用于本地进程间通信 消息缓冲队列通信机制中的数据结构 消息缓冲队列通信方式中,主要利用的数据结构是消息缓冲区 (1)消息缓冲区 type message buffer =record sender; 发送者进程标识符 size; 消息长度 text; 消息正文 next; 指向下一个消息缓冲区的指针 end type processcontrol block =record … mq; 消息队列队首指针 mutex; 消息队列互斥信号量 sm; 消息队列资源信号量

文档评论(0)

151****0104 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档