首页 > 试题广场 >

甲乙丙3个进程对某类资源的需求分别是7个、8个、3个。且目前

[单选题]
甲乙丙3个进程对某类资源的需求分别是7个、8个、3个。且目前已分别得到了3个、3个和2个资源,若系统还至少能提供( )个资源,则系统是安全的。
  • 1
  • 4
  • 2
  • 8
cpu通过时间分片的形式给进程分配资源,丙进程需要一个资源才能开始工作,等丙进程工作完了,将资源释放,此时甲进程会获得释放的3个资源,甲进程拥有6个资源,需要再分配一个资源给甲进程方能开始工作,等甲进程工作完了 再将资源交给乙,这样才能保证系统的安全,故需要再分配2个资源
发表于 2019-03-18 14:10:00 回复(0)
归类:操作系统 安全:不会造成死锁。如果只给1个,丙执行完以后,甲乙就会因为资源不够无法执行,谁都不会放弃资源,从而造成死锁 解析:至少有两个。丙先用1个资源;然后丙执行完把它的3个资源给甲,但甲还需要1个;甲完成后,再给乙
发表于 2020-02-25 11:59:05 回复(0)
丙需要一个,等丙执行完会释放3个,此时甲最多获得6个,因而甲还需要一个才能够正常运行,所以一共需要两个
发表于 2019-03-12 22:10:32 回复(2)
我觉得这题答案是D,那个榜一说的不对吧,既然说了至少,那就要考虑最坏情况,当甲:6个 乙:7个 丙:2个 时,这时添加一个既可以保证无死锁,所以一共需要3 + 4 + 1 = 8个
发表于 2019-04-01 18:45:24 回复(10)

操作系统中安全状态是指存在一个进程的执行序列,按照该序列分配所需资源,使得进程可以正确的执行完。银行家算法是一种死锁避免算法,保证分配资源后,不会导致系统进入不安全状态。因此至少2个资源,按照丙甲乙的序列,可以保证系统是安全的,即可避免死锁。

但是安全状态是避免发生死锁,而不是一定不会发生死锁,不按照序列分配资源就可能死锁了。

不安全状态也不一定发生死锁,进程所需资源只是一个估计,实际可能没有这么多,因此不一定就死锁。

题目若是要求一定不发生死锁,则至少要8个资源

发表于 2022-10-05 23:23:52 回复(0)
这题为啥不直接说CPU资源,说某类资源,万一是内存资源呢, 如果是内存资源,且不会主动结束,选项里没答案吧
发表于 2022-09-26 21:55:29 回复(0)
这个是银行家算法吧
发表于 2019-05-05 11:19:57 回复(0)
如果线程调度到丙线程,其他两个线程没有执行权也是 GG。所以我觉得要保证至少能让其中一个线程能达到释放资源的地步
发表于 2019-03-19 15:16:33 回复(0)
什么破题目,完全搞不懂
发表于 2019-03-17 11:50:20 回复(0)