华东理工815操作系统第8讲题库.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8讲作业 P83页:第33-43题 2.5 进程通信—高级通信(1) 一、进程通信的类型 进程通信是指进程之间的信息交换。根据所交换的信息量的多少分为: 低级通信 进程之间交换的信息量较少且效率低。如进程同步和互斥。 高级通信 进程之间交换的信息量较多且效率高。又分为: 2.5 进程通信—高级通信(2) 共享存储器系统 指进程之间通过对共享某些数据结构或共享存储区读写来交换数据。 消息传递系统 指进程间的通信以消息为单位,程序员可通过通信原语实现通信,按其实现方式不同可分为: 直接通信方式 发送进程直接把消息发送给接收进程。 间接通信方式 发送进程把消息发送到某个中间实体(信箱),接收进程从中取得消息。 2.5 进程通信—高级通信(3) 管道通信系统 发送进程(写进程)以字符流形式将大量数据送入管道(管道:用于连接读进程和写进程以实现它们之间通信的共享文件),接收进程(读进程)从管道接收数据。 一、共享存储器系统 相互通信的进程通过共享数据结构和存储区进行通信,因而可进一步分为: 基于共享数据结构的通信方式(低效,只适于传递少量数据) 基于共享存储区的通信方式。为了传送大量数据,在存储区中划出一块共享存储区,各个进程可通过对共享存储区进行读或写数据实现通信。 二、消息传递系统 --直接通信方式(消息缓冲通信)(1) 发送进程利用OS所提供的发送命令,直接把消息发送给接收进程。 要求:发送进程和接收进程都以显式方式提供对方的标识符。 系统提供的两条通信原语: Send(Receiver,message);发送一个消息给接收进程; Receive(Sender,message);接收Sender发来的消息; 二、消息传递系统 --直接通信方式(消息缓冲通信)(2) 生产者-消费者问题的解决 repeat . . . Produce an item in nextp; . . . Send(consumer,nextp); until false; repeat . . . Receive(producer,nextc); . . . consume the item in nextc; until false; 二、消息传递系统 ---间接通信方式(信箱通信)(1) 发送进程把消息发送到某个中间实体(信箱),接收进程从中取得消息。 系统提供的若干条原语 信箱创建和撤消原语 两条通信原语 Send(mailbox,message) 将一个消息发送给指定信箱; Receive(mailbox,message) 从指定信箱中接收一个消息; 信箱的分类:私用信箱(进程为自己创建)、公用信箱(操作系统创建)、共享信箱(由某进程创建,指明是共享的) 二、消息传递系统 ---间接通信方式(信箱通信)(2) 在利用信箱通信时,在发送进程和接收进程之间,存在着四种关系: 一对一关系:即可以为发送进程和接收进程建立一条专用的通信链路; 多对一关系:允许提供服务的进程与多个用户进程进行交互,也称客户/服务器交互; 一对多关系:允许一个发送进程与多个接收进程交互,使发送进程用广播的形式,发送消息; 多对多关系:允许建立一个公用信箱,让多个进程都能向信箱投递消息,也可取走属于自己的消息。 三、消息传递系统实现中的若干问题(1) 通信链路 建立通信链路(显式建立链路、隐式建立链路) 通信链路的连接方法(点-点、多点) 通信方式(单向、双向) 通信链路的容量(无容量、有容量) 三、消息传递系统实现中的若干问题(2) 消息格式 消息头和消息正文 进程同步方式 发送进程阻塞,接收进程阻塞(紧密同步,无缓冲) 发送进程不阻塞,接收进程阻塞(应用最广) 发送进程和接收进程均不阻塞(较常见,消息队列) 四、消息缓冲队列通信机制(1) 消息缓冲区 Type message buffer=record sender:发送消息的进程名或标识符 size:发送的消息长度 text:发送的消息正文 next-ptr:指向下一个消息缓冲区的指针 end 在进程的PCB中涉及通信的数据结构 mq:消息队列队首指针 mutex:消息队列互斥信号量, 初值为1 sm:表示接收进程消息队列上消息的个数,初值为0,是控制收发进程同步的信号量 四、消息缓冲队列通信机制(2) 发送原语send 申请一个消息缓冲区,把发送区内容复制到这个缓冲区中;找到接收进程的PCB,执行互斥

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档