系统有 3 进程(P1/P2/P3),2 种资源(A/B):可用 (A=2,B=1);P1(已分配 A=1,B=0,最大 A=3,B=2);P2(已分配 A=2,B=2,最大 A=4,B=3);P3(已分配 A=0,B=0,最大 A=1,B=1)。安全序列不是?
P1→P2→P3
P2→P1→P3
P2→P3→P1
P3→P2→P1
系统有 2 进程(P1/P2),3 种资源(A/B/C):可用 (A=1,B=2,C=1);P1(已分配 A=2,B=1,C=0,最大 A=4,B=3,C=2);P2(已分配 A=1,B=0,C=1,最大 A=2,B=2,C=3)。安全序列是?
P2→P1
P1→P2
两者同时执行
无安全序列
系统有 3 进程(P1/P2/P3),2 种资源(A/B):可用 (A=3,B=2);P1(已分配 A=1,B=2,最大 A=2,B=3);P2(已分配 A=2,B=0,最大 A=5,B=4);P3(已分配 A=0,B=1,最大 A=3,B=4)。安全序列是?
P1→P2→P3
P3→P2→P1
P2→P1→P3
无安全序列
系统有 2 进程(P1/P2),2 种资源(A/B):可用 (A=2,B=1);P1(已分配 A=1,B=1,最大 A=4,B=2);P2(已分配 A=2,B=0,最大 A=3,B=1)。P2请求 (A=1,B=0),是否同意?
同意(分配后安全)
拒绝(分配后不安全)
看 P2 优先级
让 P2 等 P1
系统有 2 进程(P1/P2),2 种资源(A/B):可用 (A=1,B=1);P1(已分配 A=2,B=1,最大 A=5,B=3);P2(已分配 A=1,B=2,最大 A=3,B=4)。P1 请求 (A=1,B=1),是否同意?
同意(分配后安全)
拒绝(分配后不安全)
给 P1 一半资源
让 P2 让资源
4 个进程各需 2 种资源(A 需 2 个、B 需 1 个),为避免死锁,最少需要多少个 A 资源(B 资源充足)?
4 个
5 个
6 个
7 个
n个进程竞争 1种资源,数量为10个,每个进程需 3 个,最多有几个进程系统不会死锁?
2 个
3 个
4 个
5 个
进程死锁的 “必要条件” 中,“资源只能被一个进程用,用完才释放” 指的是?
资源互斥
循环等待
不可剥夺
请求保持
银行家算法中,“假设分配资源后,不需更新哪个参数”?
最大需求
可用资源
进程已分配
剩余需求
“不安全状态” 与 “死锁” 的关系是?
不安全状态可能死锁,死锁一定是不安全状态
不安全状态就是死锁
死锁是安全状态
两者无关系
下列哪种做法能 “破坏死锁的循环等待条件”?
让进程按资源编号从小到大申请
让进程随便申请资源
允许进程抢资源
增加更多资源
某进程对 2 种资源的最大需求(A=5,B=3),已分配(A=3,B=1),其Need是?
A=2,B=2
A=5,B=3
A=3,B=1
A=8,B=4
死锁 “检测” 的优势是?
不限制资源申请方式,更灵活
能完全避免死锁
无需额外计算
适合所有场景
系统总资源(A=10,B=8),3 进程已分配总和(A=6,B=5),则可用资源是?
A=4,B=3
A=6,B=5
A=10,B=8
A=16,B=13
下列哪种情况 “不会导致死锁”?
进程用完资源后主动释放
P1 占 A 等 B,P2 占 B 等 A
进程拿着资源不释放还申请新的
资源不足且进程互相等待
“剩余需求(Need)” 的作用是?
判断进程还需多少资源,为安全验证做准备
记录进程已用资源
计算总资源数
确定进程优先级
死锁 “解除” 时,选择 “终止占资源少的进程” 的原因是?
损失小,快速释放资源
该进程优先级低
容易找到该进程
所有进程都一样
银行家算法的前提假设不包括?
进程会中途放弃已申请的资源
进程知道自己的最大需求
资源可被进程申请和释放
进程会按顺序完成
若系统有 3 个进程,每个进程需 2 个相同资源,总资源 = 4,该系统是否死锁?
看情况
不死锁
一定死锁
无法判断
下列哪项属于 “死锁避免” 的典型算法?
银行家算法
资源有序分配法
死锁检测算法
进程终止法