chapter2进程管理2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
send和receive原语 数据结构 消息缓冲区 type message buffer =record sender: size: text: next:指向下一指针 PCB中应增数据项: type pcb=record mq 消息队列指针 mutex 消息队列互斥信息量 sm 消息队列资源信息量 2.5 进程通信—高级通信 (1)直接通信 2.5 进程通信—高级通信 发送原语 procedure 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); wait(j.mutex); insert(j.mq, i); signal(j.mutex); signal(j.sm); end (1)直接通信 2.5 进程通信—高级通信 接收原语 procedure receive(b) begin j:=internal name; wait(j.sm); wait(j.mutex); remove(j.mq, i); signal(j.mutex); b.sender:=i.sender; b.size:=i.size; b.text:=i.text; end 2.5 进程通信—高级通信 (2)间接 优点:在读/写时间上的随机性 写进程―― 信箱(中间实体)――读进程 原语 信息的创建与撤消:信箱名 属性(公用、私用、 共享)(共享者名字) 消息的发送和接收 Send (mailbox, message) Receive (mailbox, message) 2.5 进程通信—高级通信 (2)间接 信箱类型 私用:拥有者有读/写数,其它只有写权,(单向) 存在期=进程存在期。 公用:系统创建,双向,存在期=系统存在期。 共享信箱:一般进程创建,并指明其共享者,是双向。 发送—接收进程之间的关系: 一对一关系; 多对一关系; 一对多关系; 多对多关系:公用信箱。 2.5 进程通信—高级通信 2.5 进程通信—高级通信 semaphore full=0; /*满格计数*/ semaphore empty=N; /*空格计数*/ receive(mailbos, message) { P(full); 选择满格F; 把满格F中的消息取出放msg中; 置F格标志为空E; V(empty); } send(mailbox, messsage) { P(empty); 选择空格E; 将消息msg放入空格E中; 置格E的标志为满; V(full); } (2)间接 2.5 进程通信—高级通信 在两个进程的执行过程中,如果一个进程的输出是另一个进程的输入,可以使用管道文件。 在Linux系统中,使用符号“|”来表示已建立管道文件。 这是一个临时文件,输入进程向它写信息,输出进程从它读信息。 从进程A的输出区读数据,写入管道文件。 将管道文件的数据读出,写入进程B的输入区。 共用一个管道文件,进程之间的关系有: 互斥关系——输出和输入进程不可能同时读或者写; 同步关系——当管道文件为空时,输入进程等待输出进程,当管道文件为满时,输出进程等待输入进程。 3. 管道(Pipe)通信 2.5 进程通信—高级通信 通信链路 建立通信链路(显式建立链路、隐式建立链路) 通信链路的连接方法(点-点、多点) 通信方式(单向、双向) 通信链路的容量(无容量、有容量) 消息格式 消息头和消息正文 消息传递系统实现中的若干问题(了解) 返回目录 返回目录 2.5 进程通信—高级通信 消息传递系统实现中的若干问题(了解) 进程同步方式 1.发送和接收进程阻塞(汇合) 用于紧密

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档