知识4.8 进程通信习题.pptVIP

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
知识4.8 进程通信习题

第4章 进程通信习题 * 【例】在消息缓冲通信中,系统应提供若干( ),用以存放信息。 A 队列缓冲区 B 消息缓冲区 C 容量的大缓冲区 D 容量小的缓冲区 * 【分析】解决进程间的通信问题基本上有3种方案:共享存储区,消息系统,共享文件 其中为了实现消息缓冲通信,在发送进程的工作区中开辟一个发送区,有3个数据项:接收进程标识号,消息大小,消息正文。在接收进程的工作区中开辟一个接受区,也有3个数据项:发送进程标识号,消息大小,消息正文 为了支持这种通信,系统提供若干消息缓冲区,用以存放信息,每当一个进程向另一个进程发送消息时,便向系统申请一个缓冲区并把已准备好的消息从发送区复制到该缓冲区,然后插入到接收进程的消息链中,所有发送给同一进程的消息构成接收进程的消息链,进程PCB中有指针指向消息链的链头 【答案】B * 【例】用信箱实现进程间相互信息的通信机制要有两个通信原语,它们是( )。 A “发送”原语和“执行”原语 B ”就绪“原语和”执行“原语 C ”发送“原语和”接收“原语 D ”就绪“原语和”接收“原语 * 【例】信箱通信是一种______通信方式 A 直接通信 B 间接通信 C 低级通信 D 信号量 【答案】B * 【例】在进程直接通信方式中,系统提供两条如下通信原语,请选择正确参数来替换之。 send((),()); receive((),()); A sender B receiver C text D message E mailbox 【答案】B D A D * 【例】在进程通信中,______方案要求通信进程之间共享某些变量,并通过这些变量交换信息。 【分析】共享存储区方案要求通信进程之间共享某些变量,通过这些变量交换信息。共享变量一定要在多个进程之间互斥使用,否则就会导致不确定性错误。在共享存储区方案中,无论是设置共享变量还是处理进程间的互斥关系都是程序员的责任,操作系统除了提供共享存储空间外,不需要提供其他支持 【共享存储区】 * 【例】通过专门的通信机制来实现进程间交换大量信息的通信方式称为进程通信。进程是用()来交换信息的,最基本的通信原语包括()和()。 【解答】消息 Send发送消息原语 Receive接受消息原语 * 【例】每个信箱可以由_____和____量部分组成。 【分析】若干进程都可向同一进程发送信件,接收信件的进程可以设立一个信箱。信箱的大小取决信箱中容纳的信件数,为了便于了解信箱中的情况,每个信箱可以有“信箱说明”和“信箱体”两部分组成 * 【例】为实现消息缓冲通信机制,系统除应该在PCB中增加消息队列头指针外,还应该增加()和()信号量,以实现进程之间的正确通信。 【解答】消息队列的互斥 消息队列的消息个数。 * 【例】消息缓冲机制中,发送进程和接收进程之间存在有用来存放被传送消息的缓冲区,所以,它们之间存在对临界资源的使用问题。 ( ) 【答案】正确。 【解析】使用消息缓冲机制传送数据时,这两个通信进程必须满足如下条件: a.在发送进程把消息写入缓冲区和把缓冲区挂入消息队列时,应禁止其他进程对该缓冲区消息队列的访问。同理,当接收进程正从消息队列中取消息缓冲时,也应禁止其他进程对该队列的访问。 b当缓冲区中无消息时,接收进程不能接收到消息。 * 【例】试比较直接通信和间接通信方式 【答案】可以从一下几个方面来比较直接通信方式和间接通信方式 1 发送和接收原语,直接通信原语通常为send(receiver,message), receive(sender,message); 间接通信原语通常为 send(mailbox,message), receive(mailbox,message),而且它还需要提供有关信箱创建和撤销的原语 * 2 提供对方的标识符,直接通信要求发送双发显示地提供对方的标识符,对接收进程,如果允许它同时接收多个进程发来的消息,则接收原语中的发送进程标识符可以是通信完成后返回的值; 间接通信则不用要求它们显示地提供对方的标识符,只需要提供信箱标识 * 3 通信链路。直接通信时,进程只需要提供对方的标识符便可以进行通信,在收发双方之间建立通信链路与系统自动完成,并且在收发双发之间有且仅有一条通信链路;间接通信时,仅当一对进程共享某个信箱时,它们之间才有通信链路,而且一条链路可对应多个进程, 4 实时性。直接通信通常只能提供实时通信,间接通信则既可实现实时通信,也可实现非实时通信 * 【例】进程通信方式有两种即:直接通信、间接通信,给出各自使用的原语形式。 【解析】 直接通信: 这种通信是固定在一对进程之间。例如,进程A把信件只发送给进程B,而进程B也只接收进程A

文档评论(0)

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

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

1亿VIP精品文档

相关文档