问题 单项选择题

多个并发进程使用一个互斥信号量nap时,如果nap=0,则通常表示 (21)
由于可重用资源的冲突会引起死锁,产生死锁有4个必要条件:互斥、保持和等待、循环等待以及 (22) 分配方式。

A.资源消耗性

B.资源非消耗性

C.不可抢占式

D.抢占式

答案

参考答案:C

解析:

[分析]: 信号量nap是一个整数,在nap≥0时表示可供并发进程使用的资源实体数;但nap 死锁是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。
产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。产生死锁有4个必要条件:互斥条件、不可抢占条件、保持与等待条件(部分分配条件)、循环等待条件。
对待死锁的策略主要有:
①死锁的预防 不让任一产生死锁的必要条件发生就可以预防死锁。
②死锁的避免 这种策略不对用户进程的推进顺序加以限制,在进程申请资源时先判断这次分配安全与否,才能安全实施分配,典型的算法是银行家算法。
③死锁的检测 这种策略采用资源请求分配图的化简方法来判断是否发生了不安全状态。资源请求分配图是一种有向图,表示进程与资源之间的关系。死锁的检测是在需要的时刻执行的,当发现系统处于不安全状态时,即执行死锁的解除策略。
④死锁的解除 解除死锁的基本方法是剥夺。一种方法是把资源从一些进程剥夺分给别的进程,被剥夺资源的进程则需回退到请求资源处重新等待执行;另一种方法是终止一个进程,剥夺其全部资源,以后再重新运行被终止的进程。

填空题
单项选择题