在生产者-消费者问题中,一个生产者、一个消费者共享一个缓冲区,生产者进程的原语操作的正确顺序为( )。A.wait(full); …; signal(empty);B.signal(empty); …; wait(full);C.wait(empty); …; signal(full);D.signal(full); …; wait(empty);...
在生产者—消费者问题中,消费者进程的两个wait原语的正确顺序为___和___。(1)释放区与插入点前一分区F1相邻接,此时应___
在生产者-消费者问题中,应设置互斥信号量mutex来控制对缓冲池的访问。对于信号量的初值,应该根据缓冲池的大小来设置。由于缓冲池中有n个缓冲区,因此互斥信号量的初值应该为B选项1。这是因为在开始时,只有一个进程可以对缓冲池进行访问,其他进程需要等待。当一个进程访问完缓冲池后,应该将互斥信号量的值加1,表示可...
答:在生产者一消费者问题中,如果将P (empty)和P (mutex),或者P (full)和P (mutex)互换位置,都可能引起死锁。因为,如果是生产者进程先执行了 P (mutex)操作, 成功后它将占有临界资源,从而其他进程不能再各口进入口己的临界区。当生产者进程再执 行P (empty)操作失败后,将被阻塞,此时,它期待消费者进程执...
在生产者-消费者问题中,假设生产者和消费者共享n个缓冲区,利用互斥信号量mutex实现进程对缓冲池的互斥使用。再令信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量。则请补满如下代码: Int in=0,out=0; Item buffer[n]; Semaphore mutex=1,empty=n,full=0; Void main() { Cobegin Proceducer()...
【题目】操作系统关于生产者消费者的问题在生产者-消费者问题中,如果缺少了signal(empty),对执行结果将会有何影响答案里这样写的:“如果缺少 singnal(empty) ,在生产者进程向n个缓冲区投满产品后消费者进程才开始从中取产品”为什么“生产者进程向n个缓冲区投满产品后消费者进程才开始从中取产品”?
在生产者-消费者问题中,应设置互斥信号量mutex、资源信号量full和empty。它们的初值应分别为(A)、(B)、( ) A. (1)0;(2)1;(3)-1;(4)-n;(5)+n。 B. (1)0;(2)1;(3)-1;(4)-n;(5)+n。 C. (1)0;(2)1;(3)-1;(4)-n;(5)+n。
答案:在生产者-消费者问题中,如果颠倒两个P操作可能会发生死锁。在缓冲区满时,生产者仍可顺利执行P(mutex)操作,于是它获得了对缓冲区的存取控制权。然后当它执行P(empty)时,由于没有空缓冲区而被挂起。能够将这个生产者进程释放的唯一途径是消费者从缓冲区取出一个产品,并执行V(empty)操作。但在此时,由于缓冲...
在生产者一消费者问题中,如果将两个P (即wait)操作即P (full)和P (mutex)互换 位置,或P (empty)和P (mutex)互换位置,其后果如何?如果将V (mutex)与V (empty) 互换位置(V即signal)或V (mutex)与V (full)互换位置,其结果如何?(汤T68问答 题 20,汤'206 题 20)...
,在生产者一消费者问题中,假定它们之间的公用缓冲池中有n个缓冲区,应设置互斥信号量mutex、资源信号量full和emptyo它们的初值应分别是( )。 A. 0,