网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
系统中有多个生产者进程和多个消费者进程,共享一个能存放500件产品的环形缓冲区(开始时为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。当一个消费者进程获得取出产品的机会时,必须连续取出5件产品后,其他消费者才可以取产品。请回答以下问题: (1) 说明问题中进程间的同步与互斥关系。 (2) 说明信号量的设置、初值及含义。 写出该问题的同步算法。
参考答案和解析
可以共享允许共享的系统资源
更多 “系统中有多个生产者进程和多个消费者进程,共享一个能存放500件产品的环形缓冲区(开始时为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。当一个消费者进程获得取出产品的机会时,必须连续取出5件产品后,其他消费者才可以取产品。请回答以下问题: (1) 说明问题中进程间的同步与互斥关系。 (2) 说明信号量的设置、初值及含义。 写出该问题的同步算法。” 相关考题
考题
下列关于生产者消费者的叙述中,哪一个是正确的?A.生产者往缓冲区放产品前要先使用P操作确保缓冲区有空闲槽B.生产者往缓冲区放产品前要先使用V操作确保缓冲区有空闲槽C.消费者从缓冲区取产品前要先用P操作确保缓冲区互斥使用D.生产者往缓冲区放产品前要先用P操作确保缓冲区互斥使用
考题
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】在并发系统设计中,通过对信号量S的P、V操作实现进程的同步与互斥控制。P(S):S:=S-1,若S≥0,则执行P操作的进程继续执行:若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。V(S):S:=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFFER、信号量S1和S2。发送进程不断地产生消息并写入缓冲区BUFFER,接收进程不断地从缓冲区BUFFER取消息。假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何使用P、V操作才能保证系统的正常工作。发送进程A和接收进程B的工作流程如图4-1所示。请在图4-1中的空(1)~(4)处填入正确的内容。
考题
若系统中有多个发送进程和接收进程,进程间的工作流程如图4-2所示,其中空 (1)~(4)的内容与图4-1相同。发送进程产生消息并顺序地写入环形缓冲区BUFFER,接收者进程顺序地从BUFFER中取消息,且每条消息只能读取一次。为了保证进程间的正常通信,增加了信号量SA和SB。①请说明信号量SA和SB的物理意义,并在图4-2中的空(5)和空(6)处填入正确的内容。②请从图4-2的(a)~(1)中选择四个位置正确地插入P(SA)、V(SA)、P(SB)、V(SB)。
考题
设有两个进程A和B,它们共享一个缓冲器,进程A(生产者)不断地读入记录并送到缓冲器,进程B(消费者)不断地从缓冲器中取出记录并加工。假设缓冲器的容量为每次只能存放一个记录。进程A将一个记录送入缓冲器后,应等到进程B发来消息(已将缓冲器中的记录取走),才能把下一个记录存入缓冲器。进程B把已存入缓冲器的记录取走后,也应等到A发来消息(缓冲器已趣入一个待加工的记录),才能从缓冲器中取出记录去加工。用PV操作实现生产者/消费者之间的同步。
考题
设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。
考题
● 某系统中有一个缓冲区,进程 P1 不断地生产产品送入缓冲区,进程 P2 不断地从冲区中取出产品消费,用P、V 操作实现进程间的同步模型如下图所示。假设信号量S1初值为1,信号量S2的初值为0,那么a、 b处应分别填 (26) , c、 d处分别填 (27) 。(26)A. V(S2)、P(S1)B. P(S1)、V(S2)C. P(S2)、V(S1)D. V(S1)、P(S2)(27)A. V(S2)、P(S1)B. P(S1)、V(S2)C. P(S2)、V(S1)D. V(S1)、P(S2)
考题
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b处应分别填(26),c、d处分别填(27)。A.V(S2)、P(S1)B.P(S1)、V(S2)C.P(S2)、V(S1)D.V(S1)、P(S2)
考题
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取产品消费。假设该缓存区只能容纳一个产品。进程P1与P2的同步模型如下图所示:为此,应设信号量S1的初值为(18),信号量S2的初值为(19)。A.-2B.-1C.0D.1
考题
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。假设该缓冲区只能容纳一个产品。进程P1与P2的同步模型如图2-2所示。为此,应设信号量S1的初值为(1),信号量S2的初值为(2)。A.-2B.-1C.0D.1
考题
某系统有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区取产品消费。用PV操作实现进程间的同步模型如图2-3所示。假设信号量S1的初值为1,信号量S2的初值为0,那么,a、b处应当写别填(1),c、d处分别填(2)。A.V(S2)、P(S1)B.P(S1)、V(S2)C.P(S2)、V(S1)D.V(S1)、P(S2)
考题
某系统中有一个缓冲区,进程p1不断地生产产品送入缓冲区,进程p2不断地从缓冲区中取出产品消费,用p、v操作实现进程间的同步模型如下图所示,假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()
A.V(S2)、p(S1)、v(s1)
B.V(S2)、p(S2)、v(s1)
C.V(S2)、p(S1)、v(s2)
D.V(S2)、p(S2)、v(s2)
考题
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、C处应分别填( )
A.V(S2)、P(S1)、V(S1)
B.V(S2)、P(S2)、V(S1)
C.P(S2)、V(S1)、V(S2)
D.P(S2)、V(S2)、V(S1)
考题
单选题一个CPU面对多个进程的情况,关于这个问题,下列说法不正确的是()A
一个CPU只能执行一个进程。执行另一个进程时需将前一个进程从内存中清除以腾出空间给后一个进程使用;B
一个CPU可以采取分时处理的办法,执行多个进程,而使每个进程都感觉其独占CPU;C
一个CPU执行多个进程时,必须要解决进程切换前后的状态保护问题,即一个进程在此前被中断执行,而当其恢复时应做到在哪里中断则在哪里恢复;D
进程被CPU中断运行时,该进程可能仍旧在内存中保留,只是其状态被改变为“就绪”或者“等待”。
热门标签
最新试卷