因争用资源产生死锁的必要条件是互斥、循环等待、不可抢占和(16)。对于缓冲池 (大量缓冲区)的管理,采用生产者-消费者方式解决同步或互斥时,通常需要用(17)个信号量。

admin2019-03-11  36

问题 因争用资源产生死锁的必要条件是互斥、循环等待、不可抢占和(16)。对于缓冲池 (大量缓冲区)的管理,采用生产者-消费者方式解决同步或互斥时,通常需要用(17)个信号量。

选项 A、1
B、2
C、3
D、4

答案C

解析 进程的并发执行会导致对资源的竞争。如果多个进程由于竞争资源造成一种僵局,而无外力作用,这些进程都将无法向前推进,就造成了死锁。死锁的产生有以下四个必要条件。(1)互斥条件:在一段时间内某资源只能被一个进程占有。(2)请求和保持条件:进程在申请新的资源得不到满足时,对已获得的其他资源保持不放。(3)不可剥夺条件:进程已获得的资源在未使用完之前不能被剥夺,只能在使用完时由自己释放。(4)环路等待条件:在资源有向图中,存在环路。在n个缓冲区,m个生产者和k个消费者的生产者-消费者问题中,可利用互斥信号量mutex使诸进程实现对缓冲池的互斥使用,利用资源信号量empty和full分别表示缓冲池中空缓冲区和满缓冲区的数量。因此通常需要3个信号量。
转载请注明原文地址:https://kaotiyun.com/show/0gRZ777K
0

最新回复(0)