考虑这样一种资源分配策略:对资源的申请和释放可以在任何时刻进行。如果一个进程的资源得不到满足,则考查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则把这些资源取出分给申请进程。 例如,考虑一个有三类资源的系统,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)会导致某些进程的无限等待吗?
简答题查看答案
死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的四个必要条件之一。下列方法中破坏了“循环等待”条件的是()。
单选题查看答案
应用题:把死锁检测算法用于下面的数据,并请问: (1)此时系统此时处于安全状态吗? (2)若第二个进程提出资源请求request2(0,0,1,0),系统能分配资源给它吗? (3)若第五个进程提出资源请求request5(0,0,1,0),系统能分配资源给它吗?
简答题查看答案
死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态?
简答题查看答案
资源按序分配法为什么能够预防死锁?
简答题查看答案
在操作系统设计时确定资源分配算法, 以消除发生死锁的任何可能性, 这种解决死锁的方法是()
填空题查看答案
用银行家算法避免死锁时,检测到()时才分配资源。
单选题查看答案
在哲学家算法中,是否能防止或解除死锁?为什么?
简答题查看答案
假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。
简答题查看答案