早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

m个进程(Pi,0≤i≤m-1)通过k个等长的缓冲区(Bi,0≤i≤k-1)向n个进程(Qi,0≤i≤m-1)发送消息。每个进程Pi

题目

m个进程(Pi,0≤i≤m-1)通过k个等长的缓冲区(Bi,0≤i≤k-1)向n个进程(Qi,0≤i≤m-1)发送消息。每个进程Pi发送消息的顺序与数量不受限制,每个进程Qi接收消息的顺序与数量也不受限制,但发送进程与接收进程作为两个分别的整体,要求消息发送与接收的整体次序相同。为保证消息发送与接收的充分并行,需要设置(24)。

A.3个信号量,初值分别为1,1,0

B.4个信号量,初值分别为1,0,1,0

C.3个信号量,初值分别为k,1,0

D.4个信号量,初值分别为k,1,0,1

参考答案
正确答案:D
解析:本题考查的是信号量与P、V操作的概念及其在解决同步、互斥问题中的运用。信号量的值是有物理意义的。如果令信号量S的值为L,当L0时,表示可以允许有L个进程次(允许一个进程多次)连续地通过P(S)操作(意思是这个过程中没有执行V(S)操作),无须进入等待状态;当L≤0时,表示有-L个进程正在信号量S对应的等待队列中,等待由进程执行V(S)将它们释放。原则上,一个同步条件需要一个信号量来管理。本题中,缓冲区的个数有k个,这意味着发送进程可以连续地向缓冲区组发送k个消息,中间无须接收进程取走消息,只有当缓冲区全装满消息,发送进程才需要等待接收进程取走消息,以便腾空缓冲区可以再放消息。因此设立信号量S1,初值为k。此外,缓冲区有多个,为了保证存放消息的次序,需要约束发送进程,按缓冲区号顺序放入消息。因此需设置一个变量f,指示当前消息放入f号缓冲区,f的初值为零。发送进程放入一个消息后,执行f+1操作,指向下一个缓冲区。这样,变量f为m个发送进程所共享,为保证修改的互斥,需要设置一个信号量S2,初值为1。从接收进程角度来看,Qi取走消息的前提是缓冲区中必须有尚未取走的消息。刚开始时,缓冲区为空,S2的初值应为0。另一方面,为了保证取消息的顺序必须与送入消息的顺序一致,接收进程同样需要一个共享变量t来指示当前需要取走的消息所在的缓冲区号,取走消息后执行t+1操作。还要设置一个信号量S4,初值为0。这样,共需设置4个信号量S1、S2、S3\S4,初值分别为k、1、0、1。下图表示多个发送进程与多个接收进程利用一组缓冲区通信的流程。
看了m个进程(Pi,0≤i≤m-1...的网友还看了以下:

一质量m=2.0kg的小物块以一定的初速度冲上一个足够长一质量m=2.0 kg的小物块以一定的初速 物理 2020-05-17 …

一道高一物理题,个人不赞同答案,在线求解释平直的公路上,装有发射装置的高速行驶的轿车同时向前方的接 物理 2020-05-17 …

八十万禁军教头林冲,遭到太尉高俅的陷害,被发配沧州.押送林冲的两个差伇被高太尉收买,要在路上杀死他 其他 2020-06-30 …

求奥法一键输出宏四个奥冲,一个弹幕,触发效果则用飞弹,没有则继续前两个循环。(追加分)或者,四个奥 其他 2020-07-10 …

关于厚度为20的45#钢冲压成标准圆弧封头,外沿要有个平面,就是有个直角.我想知道冲压拿个直角最小 数学 2020-07-30 …

1.有三个进程p1、p2、p3协作解决文件打印问题:系统有两个环形缓冲池,每个缓冲池有n个缓冲区; 其他 2020-08-02 …

英语翻译冲浪是个冒险运动冲浪既是个挑战自我的活动,又是个能够锻炼自己的运动.冲浪之所以被很多人当做运 英语 2020-10-30 …

林冲风雪山神庙八十万禁军教头林冲,遭到太尉高俅的陷害,被发配沧州。押送林冲的两个差役被高太尉收买,要 语文 2020-11-01 …

某雷达向外间断性发射波长为20cm的电磁波,发射一次称为一个脉冲,每个脉冲持续的时间为0.02μs, 物理 2020-11-02 …

怎么形容冲关这个词?我要起个标题,叫“莫停脚步**冲关”,意思就是到了12月份,也不能停下脚步,还要 语文 2020-11-30 …