首页 > 试题广场 >

题目来源于王道论坛 系统中有3个不同的临界资

[单选题]
题目来源于王道论坛

系统中有3个不同的临界资源R1R2R3,被4个进程p1p2p3p4共享。各进程对资源的需求为:p1申请R1R2p2申请R2R3p3申请R1R3p4申请R2。若系统出现死锁,则处于死锁状态的进程数至少是


  • 1
  • 2
  • 3
  • 4
推荐

解析:

对于本题,先满足一个进程的资源需求,再看其他进程是否能出现死锁状态。因为p4只申请一个资源,当将R2分配给p4后,p4执行完后将R2释放,这时使得系统满足死锁的条件是R1分配给p1R2分配给p2R3分配给p3(或者R2分配给p1R3分配给p2R1分配给p3)。穷举其他情况如p1申请的资源R1R2,先都分配给p1,运行完并释放占有的资源后,可以分别将R1R2R3分配给p3p4p2,也满足系统死锁的条件。各种情况需要使得处于死锁状态的进程数至少为3

发表于 2018-06-16 11:14:52 回复(2)
死锁的发生需要以下条件:
  1. 互斥条件
  2. 不剥夺条件
  3. 请求并保持条件
  4. 循环等待条件
本题的关键正在于34条件,若要发生死锁,则必须形成环路,做出资源分配图,则只有当P1,P2,P3分别占有一个资源并请求下一个资源时满足条件34.此时,处于死锁的进程数取决于P4是否发生死锁,有两种情况
  1. P4事先已经获取了R2,成功运行,故死锁进程数为3
  2. P4尚未获得R2,未运行,死锁进程数为4
编辑于 2021-12-05 12:22:50 回复(0)
如果事先分配资源给P4进程,那么死锁进程就是p1、P2、P3,3个。如果没有分配的话,4个进程都是死锁状态;
不管给不给P4分配资源,最终三类资源都是在P1,P2,P3之间进行分配;
p1,p2,p3之间可以形成循环,p1→R1→p3→R3→p2→R2→p1

发表于 2020-09-25 13:47:00 回复(0)
上图,只有这种类型的情况才会死锁。像P4这种只需要一个R2的进程很难死锁,比如在如图这种情况如果P4申请R2,死锁进程数是4个。
发表于 2022-03-03 15:26:25 回复(1)
<p>这些资源最多只能同时满足一个进程的请求,比如满足p4</p><p><br></p>
发表于 2020-08-23 14:40:38 回复(0)