zoukankan      html  css  js  c++  java
  • 例题分析——根据条件判断是否发生死锁,已知资源数M、进程数N、最大需求数W

    原文链接:https://blog.csdn.net/weixin_42711189/article/details/115484640

    设系统中仅有一类数量为M的独占型资源,系统中有N个进程竞争该类资源,其中各进程对该类资源的最大需求数为W,当M,N,W分别取下列值时,试判断哪些情况会发生死锁,为什么?

    1.M=2,N=2,W=1
    2.M=3,N=2   W=2
    3.M=3,N=2,W=3
    4.M=5  N=3  W=2
    5.M=6  N=3  W=3
     

    解答:  

    1.不会发生死锁。因为系统中只有两个进程,每个进程的最大需求量为1,且系统中资源总数为2,系统能够满足两个进程的最大资源需求量,故不会发生死锁。

    2.不会发生死锁。因为系统中有两个进程,每个进程的最大资源需求量为2,且系统中资源总数为3,无论如何分配,两个进程中必有一个进程可以获得两个资源,该进程将顺利完成,从而可以将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,故不会发生死锁。

    3.可能发生死锁。因为系统中有两个进程,每个进程的最大资源需求量为3,且系统中资源总量为3,若系统先将全部资源分配给其中一个过程,则该进程将顺利完成,从而可将分配给它的资源归还给系统,使另一进程也能顺利完成,以这种方式分配资源时不会发生死锁;若系统将两个资源分配给一个过程,而剩余的一个资源分配给另一个进程,则系统中没有空闲资源,而每个进程都需要等待资源,此时发生死锁。

    4.不会发生死锁。因为系统中有3个过程,每个进程的最大资源需求量为2,且系统中资源总量为5,无论如何分配,3个进程中必有一个进程可以获得2个资源,该进程将顺利完成,从而可以将分配给它的资源归还给系统,使其他进程也能顺利执行完成,故不会发生死锁

    5.可能会发生死锁。因为系统中有3个进程,每个进程的最大资源需求量为3,且系统中资源总数为6  ,若系统先将3个资源分配给其中一个过程,则该进程将顺利完成,从而可将分配给它的资源归还给系统,使其他进程也能顺利完成,以这种方式分配资源时不会发生死锁;若系统给每个进程分配两个资源,则系统中没有空间资源,而每个进程都需要等待一个资源,此时发生死锁。

  • 相关阅读:
    ADempiere3.6.0LTS 创建国家地区城市(基于Ubuntu Desktop 12.04 LTS)
    博客在此定居
    [SharePoint 2010] 关于 "Error message when view or edit in browser for Word or PowerPoint Web Apps” 错误
    [SharePoint 2010] Project Server for SharePoint 2010
    2019版:第八章:(2)Redis 哨兵模式
    Redis6:第一章:(2)NoSQL数据库
    2019版:第九章:Redis 集群
    第二章:(1)Synchronized 锁
    Redis6:第一章:(1)技术发展
    第二章:(2)Lock 接口
  • 原文地址:https://www.cnblogs.com/best-hym/p/14872952.html
Copyright © 2011-2022 走看看