网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
采用信号量和P、V原语解决生产者—消费者问题时,设:信号量Empty对应空缓冲区资源,Full对应满缓冲区资源,Mutex用于访问共享缓冲池时的互斥,则下列进程描述()是正确的。
A.生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者:P(Full); P(Mutex); …; V(Mutex); V(Empty)#B.生产者:P(Mutex); P(Empty); …; V(Mutex); V(Full) 消费者:P(Full):P(Mutex); …; V(Mutex); V(Empty)#C.生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者:P(Mutex); P(Full); …; V(Mutex); V(Empty#D.B、C均不正确参考答案和解析
生产者: P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者: P(Full); P(Mutex); …; V(Mutex); V(Empty)
更多 “采用信号量和P、V原语解决生产者—消费者问题时,设:信号量Empty对应空缓冲区资源,Full对应满缓冲区资源,Mutex用于访问共享缓冲池时的互斥,则下列进程描述()是正确的。A.生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者:P(Full); P(Mutex); …; V(Mutex); V(Empty)#B.生产者:P(Mutex); P(Empty); …; V(Mutex); V(Full) 消费者:P(Full):P(Mutex); …; V(Mutex); V(Empty)#C.生产者:P(Empty); P(Mutex); …; V(Mutex); V(Full) 消费者:P(Mutex); P(Full); …; V(Mutex); V(Empty#D.B、C均不正确” 相关考题
考题
关于读者写者问题,下列叙述中哪些是错误的? Reader() { while (TRUE) { P(mutex); rc = rc + 1; if (rc = = 1) P (w); V(mutex); ① 读操作; P(mutex); ② rc = rc - 1; if (rc = = 0) V(w); V(mutex); 其他操作; } } writer() { while (TRUE) { …… P(w); 写操作; V(w); } }A.信号量w的初值是0B.信号量mutex的初值是1C.计数器rc的初值是0 rc是互斥资源么D.语句P(mutex)的位置可以放到语句rc = rc + 1后面E.语句①②可以取消
考题
下列关于生产者消费者的叙述中,哪一个是正确的?A.生产者往缓冲区放产品前要先使用P操作确保缓冲区有空闲槽B.生产者往缓冲区放产品前要先使用V操作确保缓冲区有空闲槽C.消费者从缓冲区取产品前要先用P操作确保缓冲区互斥使用D.生产者往缓冲区放产品前要先用P操作确保缓冲区互斥使用
考题
读者写者问题的解决方案如下所示。Begin————①————;read_count:=read_count+1;if read_count=1then P(wnte);————②————;读文件;————③————;read—count:=read—count—1;if read—count=Othen V(write);————④————;End假设信号量.mutex表示对read—count共享变量所关注的互斥区进行互斥,那么,①、②、③和④处应该填写的语句是A.P(mutex)、P(mutex)、V(mutex)、V(mutex)B.P(mutex)、V(mutex)、P(mutex)、V(mutex)C.V(mutex)、V(mutex)、P(mutex)、P(mutex)D.V(mutex)、P(mutex)、V(rnutex)、P(mutex)
考题
下列关于信号量使用的叙述中,哪些是正确的?A.信号量初始化后,只能实施P、V原语操作B.在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的P操作C.在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的V操作D.信号量的初值不能小于0E.互斥信号量的变化范围只能是正整数
考题
阅读下列说明和图,回答问题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)处填入正确的内容。
考题
设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。
考题
某系统中有一个缓冲区,进程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的同步模型如图2-2所示。为此,应设信号量S1的初值为(1),信号量S2的初值为(2)。A.-2B.-1C.0D.1
考题
对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。
A.0、1、nB.1、n、0C.n、1、0D.1、0、n
考题
在有N个缓冲区的生产者消费者的问题中,下列叙述中哪些是错误的?producer() { int item; while(TRUE) { item = produce_item(); P(empty); P(mutex); insert_item(item); V(mutex) V(full); } } consumer() { int item; while(TRUE) { P(full); P(mutex); item = remove_item(); V(mutex); V(mutex); consume_item(item); } }A.信号量empty的初值为NB.信号量full的初值为0C.信号量mutex的初值为0D.P(full)和P(mutex)两条语句可以颠倒顺序E.V(mutex)和V(mutex)两条语句可以颠倒顺序
考题
某系统中有一个缓冲区,进程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)
考题
对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。A、0、1、nB、1、n、0C、n、1、0D、1、0、n
考题
单选题对于有界缓冲区数量为n的生产者-消费者问题来说,应设置互斥信号量mutex、资源信号量full和empty,它们的初值分别应为()。A
0、1、nB
1、n、0C
n、1、0D
1、0、n
考题
单选题在解决进程同步和互斥的问题时,对信号量进行V原语操作是在下列哪一个代码区进行的?()A
进入区B
临界区C
退出区D
剩余区
热门标签
最新试卷