资源调用--死锁的情况

1、公式

总共有w个资源,有n个进程,每个进程使用r个资源。那么w必须>= n*(r-1)+1,需要的资源>=并发的进程数*(每个资源需要的进程数-1)+1

例:

若在系统中有6个互斥并发进程,每个进程需要2个资源,那么使系统不发生死锁的资源的最少数目为多少?

 m >= 6*(2-1)+1 = 7

所以,最少需要资源数为7。

例:

系统中有R类资源m个,现有n个进程互斥使用,若每个进程对R资源的最大需求为w,那么当m、n、w分别取下表中的值时,对于表中的①–⑥中情况,
____可能会发生死锁。若将这些情况得m分别加上 ____,则系统不会发生死锁。

 

1、A. ①②⑤   B. ③④⑤   C. ②④⑤   D. ②④⑥
2、A. 1、1和1   B. 1、1和2   C. 1、1和3    D. 1、2和1

1解:根据m>=n*(w-1)+1,例如:①中3>=2*(2-1)+1 符合,则①不会发生死锁。同理②、④、⑤可能发生死锁, ①、 ③、⑥不会发生死锁。所以1选C。

2解:例如②,则3*(2-1)+1-1 = 1,所以②+1不会发生死锁。④中3*(3-1)+1-5 = 2。所以选D。

例:某系统中有 3 个并发进程竞争资源 R,每个进程都需要 5 个 R,那么至少有(24) R,才能保证系统不会发生死锁。

  A.12   B.13   C.14   D.15

  解析:

  

 

posted @ 2021-04-16 22:18  洛飞  阅读(372)  评论(0编辑  收藏  举报