拾题
首页 / 软考真题 / 操作系统死锁 / 第 1 题

假设系统中互斥资源 R 的可用数为 25。T0 时刻进程 P1、P2、P3、P4 对资源 R 的最大需求数、已分配资源数…

单选题

假设系统中互斥资源 R 的可用数为 25。T0 时刻进程 P1、P2、P3、P4 对资源 R 的最大需求数、已分配资源数和尚需资源数的情况如表 a 所示,若 P1 和 P3 分别申请资源 R 数为 1 和 2,则系统( )。

A. 只能先给 P1 进行分配,因为分配后系统状态是安全的

B. 只能先给 P3 进行分配,因为分配后系统状态是安全的

C. 可以时后 P1、P3.进行分配,因为分配后系统状态是安全的

D. 不能给 P3 进行分配,因为分配后系统状态是不安全的

答案:B

解析

正确答案:B

按银行家算法,请求到来时应先做试探性分配,再检查剩余资源能否找到安全序列。对 P3 分配 2 后,Available 仍能满足某进程尚需量,逐步回收后可使其余进程完成,因此系统处于安全状态,可以分配。若先给 P1 分配 1,剩余资源无法满足任一进程尚需量,无法形成安全序列,系统会进入不安全状态,故不能先给 P1。

  • A 错:先给 P1 分配后系统不安全。
  • B 对:先给 P3 分配后存在安全序列。
  • C 错:不能直接先后给 P1、P3 分配,先给 P1 会破坏安全性。
  • D 错:给 P3 分配后系统是安全的,并非不能分配。

考点延伸:银行家算法核心是安全性检查,涉及 Available、Need、Allocation、Max,只有存在安全序列时才实际分配。

本单元其他题目

在拾题里做这套题