考虑这样一种资源分配策略:对资源的申请和释放可以在任何时刻进行。如果一个进程的资源得不到满足,则考查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则把这些资源取出分给申请进程。 例如,考虑一个有三类资源的系统,Available = (4,2,2)。进程A申请(2,2,1),可以满足;进程B 申请(1,0,1),可以满足;若A再申请(0,0,1),则被阻塞(无资源可分)。此时,若C申请(2,0,0),它可以分得剩余资源(1,0,0), 并从A已分得的资源中获得一个资源,于是,进程A的分配向量变成:Available =(1,2,1),而需求向量变成:Need =(1,0,1)。 (1)这种分配方式会导致死锁吗?若会,举一个例子;若不会,说明死锁的哪一个必要条件不成立。 (2)会导致某些进程的无限等待吗?
免费的网站请分享给朋友吧