首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置(23)。
进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置(23)。
admin
2013-05-11
102
问题
进程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
软件设计师上午基础知识考试
软考中级
相关试题推荐
下面关于.RS-232-C标准的描述中,正确的是____________。
VLAN中继协议(VTP)的作用是(23)。按照VTP协议,交换机的运行模式有(24)。如果要启动VTP动态修剪,则(25)。(25)
如果有另外一个主机向移动主机发送信息,则下列说法错误的是__________。
ARPAnetisawideareanetwork(WAN).AnetworkthatconnectedDepartmentofDefenseresearchsitesacross(1).Createdin1969wit
以太网中,当数据传输提高时,帧的发送时间要按比例缩短,这样有可能会影响冲突的检测。为了能有效地检测冲突,可以(1)或者(2)。快速以太网仍然遵循CSMA/CD,它采取(3)而将最大电缆长度减少到100m的方式,使以太网的数据传输速率提高到100Mb/s。
阅读下列说明和C函数,将应填入(n)处的字句写在对应栏内。【说明】已知集合A和B的元素分别用不含头结点的单链表存储,函数Difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,
一个磁盘存储器的存储容量为16GB(1GB=230Byte),8个盘片(16个记录面),每条磁道有512个扇区,每个扇区512个字节,每分钟8000转,定位时间(寻道时间)为 4.25ms。该磁盘存储器的有效数据传输率是(5)。该磁盘存储器有(6)个柱面(
Developingreliable software on time and within(66).represents a difficult endeavor for many organizations. Usually business s
某磁盘存储器有3个盘片,4个记录面,分成256个磁道,20个扇区,磁盘转速5400rpm,最大数据传输率18MB/s,则磁盘每个扇区存储容量是(3),其格式化容量是(4)。
随机试题
德育计划
患者,男,53岁。晨起吃两个油煎荷包蛋后突发右上腹阵发性绞痛4小时来急诊。胆道疾病手术后,患者饮食要求为
国际贸易中最主要的运输方式是()。
进口传感器在向海关申报时,应使用下列何种报关单()。报关员报关行为不规范而被海关记5分的情形有()。
下列关于商业票据特点的表述中,正确的是()。
设立股份有限公司公开发行股票,应当向国务院证券监督管理机构报送募股申请和下列()文件。
反映股份公司普通股每股市价与普通股每股利润之间比率的指标是()。
五星级饭店应有至少()问(套)可供出租的客房。
人力资源保障部可能正在拟订工资支付统一法规,除了重申“按劳分配”外,还将明确增加“同工同酬”。公众普遍理解是,无论正式工还是劳务派遣工,只要从事相同内容工作、付出等量劳动,就应该获得同级别的工资待遇。这一事件属于()的例子。
A、Shecanusehiscar.B、Shecanborrowsomeoneelse’scar.C、Shemustgethercarfixed.D、Shecan’tborrowhiscar.D
最新回复
(
0
)