问题
单项选择题
某个系统采用下列资源分配策略。如果一个进程提出资源请求得不到满足,而此时没有由于等待资源而被阻塞的进程,则自己就被阻塞。而当此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。这种分配策略会导致( )。
A.死锁
B.颠簸
C.回退
D.饥饿
答案
参考答案:D
解析:本题所给的资源分配策略不会产生死锁。因为题中的分配策略规定若一个进程的资源得不到满足,则检查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。从而破坏了产生死锁必要条件中的非剥夺条件,这样系统就不会产生死锁。但是,这种方法会导致某些进程无限期的等待。因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所拥有的资源数量在其被唤醒之前只可能减少。若系统中不断出现其他进程申请资源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型系统且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。