练习题 -- 操作系统 >> 进程PV与死锁
共 13 题
第 1/13 题
★
进程从运行态变为阻塞态的原因是:
正确答案: C
【操作系统-进程管理】
题目:进程从运行态变为阻塞态的原因是:
✅ 正确答案:C.等待某事件(如I/O完成)
错误选项:
❌ A.被高优先级进程抢占
❌ B.时间片用完
❌ D.进程创建
📖 解析:运行→阻塞:主动等待I/O。运行→就绪:时间片到或被抢占。阻塞→就绪:I/O完成。
题目:进程从运行态变为阻塞态的原因是:
✅ 正确答案:C.等待某事件(如I/O完成)
错误选项:
❌ A.被高优先级进程抢占
❌ B.时间片用完
❌ D.进程创建
📖 解析:运行→阻塞:主动等待I/O。运行→就绪:时间片到或被抢占。阻塞→就绪:I/O完成。
第 2/13 题
★★★
在读者-写者问题中,为了实现写者互斥,通常使用:
正确答案: D
【操作系统-进程管理】
题目:在读者-写者问题中,为了实现写者互斥,通常使用:
✅ 正确答案:D.以上都需要
错误选项:
❌ A.一个互斥信号量
❌ B.两个信号量
❌ C.读者计数器
📖 解析:读者-写者需要:写者互斥信号量+读者计数器+读者互斥信号量。
题目:在读者-写者问题中,为了实现写者互斥,通常使用:
✅ 正确答案:D.以上都需要
错误选项:
❌ A.一个互斥信号量
❌ B.两个信号量
❌ C.读者计数器
📖 解析:读者-写者需要:写者互斥信号量+读者计数器+读者互斥信号量。
第 3/13 题
★★
3进程各需4个同类资源,最少不发生死锁的资源数:
正确答案: B
【操作系统-进程管理】
题目:3进程各需4个同类资源,最少不发生死锁的资源数:
✅ 正确答案:B.10
错误选项:
❌ A.9
❌ C.11
❌ D.12
📖 解析:最坏情况:每个进程已获3个资源,还要1个。共3×3=9已分配,再给1个→10个。此时1个进程完成释放资源。
📌 拓展:银行家算法核心:系统至少需要Σ(max_i - 1) + 1个资源才能保证不死锁。死锁四大必要条件:互斥、请求和保持、不可剥夺、循环等待。
题目:3进程各需4个同类资源,最少不发生死锁的资源数:
✅ 正确答案:B.10
错误选项:
❌ A.9
❌ C.11
❌ D.12
📖 解析:最坏情况:每个进程已获3个资源,还要1个。共3×3=9已分配,再给1个→10个。此时1个进程完成释放资源。
📌 拓展:银行家算法核心:系统至少需要Σ(max_i - 1) + 1个资源才能保证不死锁。死锁四大必要条件:互斥、请求和保持、不可剥夺、循环等待。
第 4/13 题
★★
PV操作中执行P(S)后S=-1,意味着:
正确答案: B
【操作系统-进程管理】
题目:PV操作中执行P(S)后S=-1,意味着:
✅ 正确答案:B.有1个进程在等待
错误选项:
❌ A.有1个可用资源
❌ C.资源已经用完
❌ D.信号量出错
📖 解析:P(S)后S<0→无可用资源且进程被阻塞。|S|=等待进程数。
📌 拓展:P操作:申请资源,S-1;V操作:释放资源,S+1。P后S<0则阻塞,V后S≤0则唤醒。
题目:PV操作中执行P(S)后S=-1,意味着:
✅ 正确答案:B.有1个进程在等待
错误选项:
❌ A.有1个可用资源
❌ C.资源已经用完
❌ D.信号量出错
📖 解析:P(S)后S<0→无可用资源且进程被阻塞。|S|=等待进程数。
📌 拓展:P操作:申请资源,S-1;V操作:释放资源,S+1。P后S<0则阻塞,V后S≤0则唤醒。
第 5/13 题
★★★
某系统有R1=3,R2=3,R3=2三类资源。P1(2,2,1),P2(2,0,1),P3(1,0,1)是最大需求。当前Available=(0,1,0),Allocation:P1(2,0,0),P2(0,1,0),P3(1,0,1)。用银行家算法判断:
正确答案: B
【操作系统-进程管理】
题目:银行家算法判断:
✅ 正确答案:B.安全P2→P3→P1
错误选项:
❌ A.安全P3→P2→P1
❌ C.不安全
❌ D.安全P1→P2→P3
📖 解析:计算Need矩阵,找Need≤Available的进程,逐步推进。
题目:银行家算法判断:
✅ 正确答案:B.安全P2→P3→P1
错误选项:
❌ A.安全P3→P2→P1
❌ C.不安全
❌ D.安全P1→P2→P3
📖 解析:计算Need矩阵,找Need≤Available的进程,逐步推进。
第 6/13 题
★★
死锁预防中,破坏"循环等待"条件的方法是:
正确答案: B
【操作系统-进程管理】
题目:死锁预防中,破坏"循环等待"条件的方法是:
✅ 正确答案:B.给资源编号,按序申请
错误选项:
❌ A.允许剥夺
❌ C.一次性分配所有资源
❌ D.允许共享
📖 解析:循环等待预防:给资源编号,每个进程按递增顺序申请→不会形成循环。
📌 拓展:银行家算法核心:系统至少需要Σ(max_i - 1) + 1个资源才能保证不死锁。死锁四大必要条件:互斥、请求和保持、不可剥夺、循环等待。
题目:死锁预防中,破坏"循环等待"条件的方法是:
✅ 正确答案:B.给资源编号,按序申请
错误选项:
❌ A.允许剥夺
❌ C.一次性分配所有资源
❌ D.允许共享
📖 解析:循环等待预防:给资源编号,每个进程按递增顺序申请→不会形成循环。
📌 拓展:银行家算法核心:系统至少需要Σ(max_i - 1) + 1个资源才能保证不死锁。死锁四大必要条件:互斥、请求和保持、不可剥夺、循环等待。
第 7/13 题
★
以下不是进程基本状态的是:
正确答案: D
【操作系统-进程管理】
题目:以下不是进程基本状态的是:
✅ 正确答案:D.挂起
错误选项:
❌ A.就绪
❌ B.运行
❌ C.阻塞
📖 解析:三态模型:就绪+运行+阻塞。挂起是中级调度的概念,不是基本状态。
题目:以下不是进程基本状态的是:
✅ 正确答案:D.挂起
错误选项:
❌ A.就绪
❌ B.运行
❌ C.阻塞
📖 解析:三态模型:就绪+运行+阻塞。挂起是中级调度的概念,不是基本状态。
第 8/13 题
★
进程调度中可能导致饥饿的算法是:
正确答案: C
【操作系统-进程管理】
题目:进程调度中可能导致饥饿的算法是:
✅ 正确答案:C.短作业优先SJF
错误选项:
❌ A.FCFS
❌ B.时间片轮转
❌ D.多级队列
📖 解析:SJF可能导致长作业永远得不到CPU(饥饿)。优先级调度也可能导致饥饿。
题目:进程调度中可能导致饥饿的算法是:
✅ 正确答案:C.短作业优先SJF
错误选项:
❌ A.FCFS
❌ B.时间片轮转
❌ D.多级队列
📖 解析:SJF可能导致长作业永远得不到CPU(饥饿)。优先级调度也可能导致饥饿。
第 9/13 题
★
进程从就绪态到运行态的转换是由什么触发的?
正确答案: B
【操作系统-进程管理】
题目:进程从就绪态到运行态的转换是由什么触发的?
✅ 正确答案:B.操作系统调度程序
错误选项:
❌ A.进程自己
❌ C.外部中断
❌ D.用户操作
📖 解析:进程不能自己决定何时上CPU,由操作系统的调度程序选择下一个运行的进程。
题目:进程从就绪态到运行态的转换是由什么触发的?
✅ 正确答案:B.操作系统调度程序
错误选项:
❌ A.进程自己
❌ C.外部中断
❌ D.用户操作
📖 解析:进程不能自己决定何时上CPU,由操作系统的调度程序选择下一个运行的进程。
第 10/13 题
★
信号量的物理意义:S>0时表示:
正确答案: B
【操作系统-进程管理】
题目:信号量的物理意义:S>0时表示:
✅ 正确答案:B.可用资源数
错误选项:
❌ A.等待进程数
❌ C.已分配资源数
❌ D.信号量初值
📖 解析:S>0=还有可用资源。S=0=无资源无等待。S<0=|S|个进程在等待。
题目:信号量的物理意义:S>0时表示:
✅ 正确答案:B.可用资源数
错误选项:
❌ A.等待进程数
❌ C.已分配资源数
❌ D.信号量初值
📖 解析:S>0=还有可用资源。S=0=无资源无等待。S<0=|S|个进程在等待。
第 11/13 题
★
P,V操作中,V(S)执行完后若S≤0,则:
正确答案: A
【操作系统-进程管理】
题目:P,V操作中,V(S)执行完后若S≤0,则:
✅ 正确答案:A.唤醒等待进程
错误选项:
❌ B.资源已用完
❌ C.系统将死锁
❌ D.信号量出错
📖 解析:V(S)后S≤0→有进程在等待→唤醒一个。V操作总是释放资源。
题目:P,V操作中,V(S)执行完后若S≤0,则:
✅ 正确答案:A.唤醒等待进程
错误选项:
❌ B.资源已用完
❌ C.系统将死锁
❌ D.信号量出错
📖 解析:V(S)后S≤0→有进程在等待→唤醒一个。V操作总是释放资源。
第 12/13 题
★
银行家算法中,Available表示:
正确答案: D
【操作系统-进程管理】
题目:银行家算法中,Available表示:
✅ 正确答案:D.系统当前可用资源
错误选项:
❌ A.已分配
❌ B.最大需求
❌ C.还需资源
📖 解析:Available=系统当前可用资源数。Allocation=已分配,Need=还需。
题目:银行家算法中,Available表示:
✅ 正确答案:D.系统当前可用资源
错误选项:
❌ A.已分配
❌ B.最大需求
❌ C.还需资源
📖 解析:Available=系统当前可用资源数。Allocation=已分配,Need=还需。
第 13/13 题
★
时间片轮转调度中,若时间片设置太小,会导致:
正确答案: B
【操作系统-进程管理】
题目:时间片轮转调度中,若时间片设置太小,会导致:
✅ 正确答案:B.进程切换开销增大
错误选项:
❌ A.响应时间变长
❌ C.吞吐量提高
❌ D.优先执行短作业
📖 解析:时间片太小→频繁切换→上下文切换开销占比大→CPU有效利用率降低。
📌 拓展:时间片通常设为20-50ms,使上下文切换开销控制在1%以内。过小→切换频繁→CPU利用率下降;过大→响应延迟。
题目:时间片轮转调度中,若时间片设置太小,会导致:
✅ 正确答案:B.进程切换开销增大
错误选项:
❌ A.响应时间变长
❌ C.吞吐量提高
❌ D.优先执行短作业
📖 解析:时间片太小→频繁切换→上下文切换开销占比大→CPU有效利用率降低。
📌 拓展:时间片通常设为20-50ms,使上下文切换开销控制在1%以内。过小→切换频繁→CPU利用率下降;过大→响应延迟。