首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置(23)。
进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置(23)。
admin
2013-05-11
99
问题
进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置(23)。
选项
A、2个信号量,初值分别为1,0
B、2个信号量,初值分别为1,n,
C、3个信号量,初值分别为1,0,0
D、3个信号量,初值分别为1,1,0
答案
C
解析
本题考查的是信号量与P、V操作在复杂条件下的运用。每个信号量原则上只能用来保证一个同步关系。这里,一个同步关系是发送进程必须遵循“取后再送”。也就是说,缓冲区被送入消息后,只有n个接收进程都取到了该消息,发送进程才能再次送入消息。而不能让发送进程不顾接收情况连续地往缓冲区内送消息,导致有的消息尚未取走就被新消息覆盖。因此应该设一个信号量S1,由于刚开始时,缓冲区内没有消息,所以S1的初值应该为1。再次发送消息前执行P(S1)。另一个同步关系是接收进程必须遵循“送后再取”。也就是说,接收进程在接收到消息后,必须等到新消息送入后才能再去取,而不能连续地取,导致接收到的消息出现重复。因此,应该设一个信号量S2,由于刚开始时,缓冲区内没有消息,所以的初值应该为0。接收消息之前接收进程应该执行P(S2)。所有进程都接收了一条消息后执行V(S1)。发送进程发送一条消息后应该执行V(S2)。这看来是简单的生产者与消费者关系,其实不然。本题的问题出在接收进程有n个,而且每个接收进程接收消息的次序必须与发送次序相同。因此,应该设一个共享变量T,记录有多少个接收进程已经接收了同一条消息,T得初值为n。如果已经全部接收了消息,就可以允许发送进程发送下一条消息了,否则还不能发送。那么。既然T为所有接收进程所共享,是否也应该设一个信号量,以保证互斥呢?其实这是不必要的,因为接收进程在接收消息前必须执行P(S2),而S2的初值为0,只有在发送进程执行了V(S2)以后才只允许一个接收进程通过P(S2),如果将对T的操作放在接受进程执行P(S2)以后,互斥不会成为问题。其次,并不是所有接收进程接收了消息后都去执行V(S1),只是(对同一条消息而言)最后一个接收进程接收了消息后才去执行V(S1)。否则,随便一个接收进程接收消息后就去执行V(S1),使发送进程可以发送新消息,就会导致消息被覆盖,有的接收进程就再也不能接收到这条消息了。因此,接收进程接收了消息后,需将T减1,然后判断自己是否是(对同一条消息而言)最后一个接收到这条消息的进程,如果是(T=0),就先将T改为n,再执行V(S1),让发送进程再次发送消息;否则执行V(S2),唤醒下一个等待接收该消息的接收进程。但是,这样仅仅能够保证每一条消息只能被接收n次,并不能防止某个动作极快地接收进程连续多次接收同一条消息,而动作较慢的进程的接收机会却被抢夺。因此,必须控制不是(对同一条消息而言)最后一个接收到消息的接收进程的运行速度,避免造成接收不同消息的进程排在同一个队列(信号量S2所对应)中,让信号量S2所对应的队列中的排队元素永远是等待接收最新消息的进程。显然,这样又出现了一个新的同步条件,一个调节接收进程运行速度的同步条件。为此,应该再设置一个信号量S3,初值为0。不是(对同一条消息而言)最后一个接收到消息的接收进程在接收消息后执行V(S3),先在这个队列上等待。(对同一条消息而言)最后一个接收到该消息的进程在接收消息以后,将它们(共有n-1个进程)全部释放,共同进入对下一条消息的角逐。下图表示发送、接收进程的流程。
转载请注明原文地址:https://kaotiyun.com/show/3nRZ777K
本试题收录于:
软件设计师上午基础知识考试题库软考中级分类
0
软件设计师上午基础知识考试
软考中级
相关试题推荐
一个运行CSMA/CD协议的以太网,数据速率为1Gbit/s,网段长1km,信号速率为200000km/s,则最小帧长是____________比特。
某报文的长度是1000字节,利用MD5计算出来的报文摘要长度是(1)位,利用SHA计算出来的报文摘要长度是(2)位。(2010年下半年试题)(2)
POP3协议采用(1)模式,当客户机需要服务时,客户端软件(OutlookExpress或Fox.Mail)与POP3服务器建立(2)连接。(2011年下半年试题)(2)
网络地址和端口翻译(NAPT)用于(1),这样做的好处是(2)。(2010年上半年试题)(2)
IPSec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议(AH)、封装安全载荷协议(ESP)、(1)和用于网络认证及加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向
Kerberos要求用户使用(1)作为自己的标识,而客户端与KDC服务器之间的交互则使用(2)。当用户需要和其他用户通信时,需要从服务器端获得(3),然后再用其向KDC服务器申请与需要通信的一方交互的会话密钥。接收到这个密钥后,就可以建立与对方用户
某报文的长度是1000字节,利用MD5计算出来的报文摘要长度是(1)位,利用SHA计算出来的报文摘要长度是(2)位。(2010年下半年试题)(1)
运行RIPv2协议的3台路由器按照如下图所示的方式连接,路由表项最少需经过__________可达到收敛状态。
阅读以下说明、图和C代码。【说明】一般的树结构常采用孩子-兄弟表示法表示,即用二叉链表作树的存储结构,链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。例如,图10-8(a)所示的树的孩子-兄弟表示如图10-8(b)所示。
阅读下列程序说明和C程序,将应填入程序中(n)处的字句,写在对应栏内。【程序说明】本程序先从文件读人各考生的准考证号(设为整型数)及成绩,并将其存放在一棵检索二叉树上,二叉树结点的健值是成绩,每个结点带一链表,链表结点存放取得该成绩的考生
随机试题
设函数f(x)=ax3+bx2+cx-9具有如下性质:(1)在点x=-1的左侧临近单调减少;(2)在点x=-1的右侧临近单调增加;(3)其图形在点(1,2)的两侧凹凸性发生改变.试确定a,b,c的值.
多器官功能障碍逻辑性评价体系(LODS)中,只有肾脏功能评价时指标有三个,是指
患者,心胸烦热,口渴面赤,意欲冷饮,以及口舌生疮,舌红,脉数。辨证为心经火热证。方剂宜选用
肾气丸所治消渴的病机是
据FAB分型,急性单核细胞性白血病属哪一类型白血病
远期交易实行()。
下列所得项目中,应依法向中国政府缴纳个人所得税的有()。
对于认知和技能领域的学业,最常用的教学评价手段是标准化成就测验和()。
在一些国际会议上,同声翻译人员使用的记忆是()。
EnergycrisisTheyear1973broughtanendtotheeraofsecure,cheapoil.InOctober,asaresultoftheArabIsraeliWar,
最新回复
(
0
)