当前位置:首页 > 全部子站 > IT > 水平考试

计算机软考软件设计师考试重点难点:死锁2

来源:长理培训发布时间:2017-11-26 15:59:23

  3、判断系统是否可能进入死锁状态

  从上面的死锁解决方案来看,无论哪一种方式都不可避免的要增加系统的负担。而同时一个系统是否有可进入死锁状态受系统资源数量,需要使用该资源的进程数量等因素影响。若系统本不可能引起死锁,而我们采用了死锁解决方案,是很不合理的。所以,考试中常考到这样的题型:给出系统的资源数,以及需要使用该资源的进程数量等参数,让考生判断系统有无可能产生死锁。下面我们以例题的方式来说明如何解决这类问题。

  例题1:

  系统有3个进程:A、B、C。这3个进程都需要5个系统资源。如果系统有多少个资源,则不可能发生死锁。

  解答:

  在分析这个问题时,我们可以取一些简单的数据代入试题进行验证、分析,以得到相应的规律。

  如:

  (1)当系统资源数量为9时,若给A与B分别分配了4个资源,C分配了1个资源,则系统中的每个进程都存在资源不足的情况,而都不放手自己拥有的资源。不能正常运行完毕,发生死锁。

  (2)当系统资源数量为12时,若给A、B、C各分配4个资源,则死锁。

  (3)当系统资源数量为13时,无论如何分配,总有至少1个进程能得到5个资源,得到5个资源的进程可以正常运行完毕,而后将自己占用的资源分配给其它进程,所以这样能使所有进程运行完毕。

  从上面的尝试,我们可以总结出一个规律:先给所有进程分配他们所需要的资源数减1个资源,然后系统如果能再剩余1个资源,则系统不会发生死锁。这样解答本题变得非常容易。

  (5-1)*3+1=13。

  例题2:

  一台计算机有10台磁带机被m个进程竞争,每个进程最多需要三台磁带机,那么m至多为 时,系统没有死锁的危险。

  A.3 B.4 C.5 D.6

  解答

  首先从m=6开始考察,首先每个进程分配1台,剩下的4台只能分配给4个进程,还有2个进程没有分配,如果已经分配了2台的4个进程需要3台的话,则系统就会死锁。同样,如果m=5,也会发生这种情况。当m=4时,每个进程可以分得2台,还有2个进程可分得3台,则可正常运行,运行完毕后可释放资源,从而不会死锁。在解这道题时有些学员提出"如果按照答案m=4,则这4个进程都是需要3台磁带机的话,共需要12台磁带机,这样还不会死锁?"。这种想法是错误的,因为并不是同时把所有进程都分配给足够的资源才能完成这些进程,可以是一个进程先执行完,释放完资源再执行另一个进程。

  例如:4个进程中,每个进程分配2台磁带机,用去了8台。剩下2台,仍然可以满足两个进程,直到他们完成,释放他们暂用的磁带机。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部