3进程管理_1.ppt

  1. 1、本文档共199页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图 3.14 消息缓冲通讯 消息缓冲队列通信的数据结构有消息缓冲区和进程PCB中有关通信的扩充数据项,消息缓冲区描述如下: type message buffer=record sender ;发送进程的标识符 size ;消息长度 text ;消息正文 next ;指向下一个消息缓冲区的指针 end PCB 有关通信的扩充数据项 type PCB = record . mutex ;消息缓冲队列互斥信息量 ; Sm ;消息缓冲队列资源信息量 ; mq ;消息缓冲队列首指针 ; . end 发送原语 Proceduce send (receiver,a) begin getbuf(a.size,i) ; i.sender = a.sender i.size = a.size ; i.text = a.text ; i.next = 0 ; getid (PCB set , receiver ,j) ; P(j.mutex) ; insert(j.mq,i) ; V(j.mutex) ; V(j.Sm) ; end 接收原语 proceduce receive(b) begin j := internal name ; P (j.Sm) ; P (j.mutex) ; Remove(j.mq,i ) ; V(j.mutex) ; b.sender :=i.sender ; b.size :=i.size ; b.text :=i.text ; Releasebuf(i) ; end (2) 间接通信方式 在间接通信情况,消息不直接从发送者发送到接收者,而是发送到暂存消息的共享数据结构组成的队列,这个实体称为信箱(mailbox)。因此二个进程通信情况,一个进程发送一个消息到某个信箱,而另一个进程从信箱中摘取消息。 间接通信的使用好处是增加了使用消息的灵活性。发送者和接收者的关系可能是一对一、多对一,一对多或多对多。一对一的关系允许一个专用通信链路用于二个进程间的交互,它能使俩进程间交互不受其它进程错误干予的影响,多对一的关系对客户/服务器交互特别有用,一个进程对多个其它进程(用户)提供服务。在这种情况信箱经常称作为端口(port)。一对多关系允许一个发送进程和多个接收进程交互,这可用来将消息广播(broadcast)给一组进程。 进程与信箱的联系有二种:静态和动态。端口经常与特定的进程保持静态的联系,即端口创建后永久地分配给某个进程。同样一对一关系是典型地规定为静态的和永久的。当有许多发送者时,一个发送者与信箱的联系可以动态发生,例如联接和去联接原语可以应用于此用途。 对于端口它是接收进程拥有和创建的。当进程撤消时相应端口也撤消。对于一般信箱,操作系统可以提供创建和撤消信箱的服务。 信箱用于存放信件,而信件是一进程发送给另一进程的消息。  1) 信箱通讯过程 图 3.15信箱通讯方式 2) 信箱的数据结构 信箱是一种数据结构,逻辑上可分为两部分:信箱头和信箱体。信箱头是信箱的描述部分;信箱体由若干格子组成, 其中每一格子可存放一个信件。 信箱头包括如下信息: 信箱名: boxname; 信箱大小: boxsize; 已存信件数: mesnum; 空的格子数: fromnum; 图 3.16 信箱的数据结构 3)发送原语和接收原语 进程调用send原语发送信件前,必须事先组织好信件, 然后再调用send原语并在调用时给出参数:信箱名和信件内容或信件存放地址。 同样, 调用receive原语时,也要给出参数:信箱名和信件取出后的存放地址。由此,send和receive原语格式如下: send (boxname, msg) receive (boxname, msg) 4) 原语的实现 发送原语的执行过程是: 根据send原语中的第一个参数信箱名,找到相应的信箱,若信箱有空的格子,则按第二个参数指出的地址把信件送入该信箱中,如果有进程在等待

文档评论(0)

189****0315 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档