niusouti.com
参考答案和解析
正确答案: 设max (i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: 
max(1)+┅+max(n)=(need(1)+┅+need(n))+((alloc(1)+┅+alloc(n)) 如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,          
alloc(1)+ ┅+alloc(n)=m 
另一方面所有进程将陷入无限等待状态。可以推出          
need(1)+ ┅+need(n) 上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
更多“N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,所有进程总共的资源需求少于M+N个,证明该系统此时不会产生死锁。”相关问题
  • 第1题:

    一个操作系统有20个进程,竞争使用30个同类资源,申请方式是逐个进行,一旦某个进程获得了它的全部资源,就马上归还所有的资源,每个进程最多使用30,最少使用一个资源。20个进程需要的资源总数小于50。如果仅考虑这类资源,系统会产生死锁吗?请说明理由。
    设max(i)表示第i个进程的最大资源需求量,
    need(i)表示第i个进程还需要的资源量,
    alloc(i)表示第i个进程已分配的资源量。
    由题中所给条件可知:
    max(1)+…+max(20)=(need(1)+…need(20))+(alloc(1)+…+alloc(20))<50
    如果在这个系统中发生了死锁,那么一方面30个资源R应该全部分配出去,即(反证法)alloc(1)+…+alloc(20)=30
    另一方面所有进程将陷入无限等待状态。
    由上述两式可得:need(1)+…+need(20)<20(关键)
    上式表示死锁发生后,20个进程还需要的资源量之和小于20,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。

  • 第2题:

    某系统有同类资源m个供n个进程共享,如果每个进程最多申请k个资源(1≤k≤m),为保证系统不发生死锁,则各进程的最大需求量之和应()

    • A、 为m
    • B、 为m+n
    • C、 小于m+n
    • D、 大于m+n

    正确答案:C

  • 第3题:

    假设系统由相同类型的7个资源被3个进程共享,若要使系统不会死锁,每个进程最多可以申请的资源个数是()

    • A、1
    • B、2
    • C、3
    • D、4

    正确答案:C

  • 第4题:

    考虑一个由四个同类资源组成的系统,有三个进程共享这些资源,每个进程至多需要两个资源,试说明该系统是无死锁的。


    正确答案:假设三个进程,每个进程都需要两个资源,最坏的情况,每个进程都占有了一个资源,申请第二个资源,而此时系统中剩余一个资源,不管这个资源分给哪一个进程,都能满足它的资源要求,因此它能在有限的时间里运行结束而释放所占有的两个资源,这两个资源又可以分给另外两个进程,使它们能够运行结束,因此,此系统是无死锁的。

  • 第5题:

    若系统有某类资源10个供若干进程共享,下列可能引起死锁的情况是()

    • A、有2个进程,每个进程需3个资源
    • B、有3个进程,每个进程需3个资源
    • C、有4个进程,每个进程需3个资源
    • D、有5个进程,每个进程需3个资源

    正确答案:D

  • 第6题:

    系统有同类资源m个,被n个进程共享,问:当m>n和m≤n时,每个进程最多可以请求多少个这类资源时,使系统一定不会发生死锁?


    正确答案:当m≤n时,每个进程最多请求1个这类资源时,系统一定不会发生死锁。当m>n时,如果m/n不整除,每个进程最多可以请求”商+1”个这类资源,否则为”商”个资源,使系统一定不会发生死锁。

  • 第7题:

    如果3个进程共享某类资源时每个进程最多申请2个资源,则系统能提供的资源数为()时就一定不会死锁

    • A、2
    • B、3
    • C、4
    • D、5
    • E、6

    正确答案:C,D,E

  • 第8题:

    问答题
    考虑一个由四个同类资源组成的系统,有三个进程共享这些资源,每个进程至多需要两个资源,试说明该系统是无死锁的。

    正确答案: 假设三个进程,每个进程都需要两个资源,最坏的情况,每个进程都占有了一个资源,申请第二个资源,而此时系统中剩余一个资源,不管这个资源分给哪一个进程,都能满足它的资源要求,因此它能在有限的时间里运行结束而释放所占有的两个资源,这两个资源又可以分给另外两个进程,使它们能够运行结束,因此,此系统是无死锁的。
    解析: 暂无解析

  • 第9题:

    单选题
    假设系统由相同类型的7个资源被3个进程共享,若要使系统不会死锁,每个进程最多可以申请的资源个数是()
    A

    1

    B

    2

    C

    3

    D

    4


    正确答案: D
    解析: 暂无解析

  • 第10题:

    问答题
    一个操作系统有20个进程,竞争使用30个同类资源,申请方式是逐个进行,一旦某个进程获得了它的全部资源,就马上归还所有的资源,每个进程最多使用30,最少使用一个资源。20个进程需要的资源总数小于50。如果仅考虑这类资源,系统会产生死锁吗?请说明理由。

    正确答案: 设max(i)表示第i个进程的最大资源需求量,
    need(i)表示第i个进程还需要的资源量,
    alloc(i)表示第i个进程已分配的资源量。
    由题中所给条件可知:
    max(1)+…+max(20)=(need(1)+…need(20))+(alloc(1)+…+alloc(20))<50
    如果在这个系统中发生了死锁,那么一方面30个资源R应该全部分配出去,即(反证法)alloc(1)+…+alloc(20)=30
    另一方面所有进程将陷入无限等待状态。
    由上述两式可得:need(1)+…+need(20)<20(关键)
    上式表示死锁发生后,20个进程还需要的资源量之和小于20,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
    解析: 暂无解析

  • 第11题:

    单选题
    某系统有同类资源m个供n个进程共享,如果每个进程最多申请k个资源(1≤k≤m),为保证系统不发生死锁,则各进程的最大需求量之和应()
    A

     为m

    B

     为m+n

    C

     小于m+n

    D

     大于m+n


    正确答案: B
    解析: 暂无解析

  • 第12题:

    问答题
    假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。

    正确答案: 在最坏情况下,三个进程各占用一个资源,并同时请求第二个资源。由于系统中还有一个未用的资源,所以三个进程中的一个可以被满足。另外两个进程在这个进程结束以后可以获取需要的资源,然后继续执行。因此,不会出现死锁。
    解析: 暂无解析

  • 第13题:

    一个系统中存在某类资源m个,被n个进程共享。资源的分配和释放必须一个一个进行,请证明在以下两个条件下不会发生死锁: 每个进程需要资源的最大数在1~m之间; 所有进程需要的资源总数小于m+n;

  • 第14题:

    有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。


    正确答案: 该系统不会由于对这种资源的竞争而产生死锁。因为在最坏情况下,每个进程都需要2个这样的资源,且每个进程都已申请到了1个资源,那么系统中还剩下1个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的2个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死锁。

  • 第15题:

    系统中有3个进程,4个相同类型的资源,每个进程最多需要2个资源,该系统是否回发生死锁?为什么?


    正确答案:该系统不会发生死锁。因为4个资源分配给3个进程,无论如何分配,总会有1个进程能够分配到2个资源,该进程获得其最大资源数后,完成并释放其资源,剩余2个进程就可获得最大资源数,顺利完成,系统始终存在安全序列,故系统不会死锁。

  • 第16题:

    若某系统有某类资源5个供若干进程共享,不会引起死锁的情况是()

    • A、有6个进程,每个进程需1个资源
    • B、有5个进程,每个进程需2个资源
    • C、有4个进程,每个进程需3个资源
    • D、有3个进程,每个进程需4个资源

    正确答案:A

  • 第17题:

    假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。


    正确答案:在最坏情况下,三个进程各占用一个资源,并同时请求第二个资源。由于系统中还有一个未用的资源,所以三个进程中的一个可以被满足。另外两个进程在这个进程结束以后可以获取需要的资源,然后继续执行。因此,不会出现死锁。

  • 第18题:

    考虑由n个进程共享的具有m个同类资源的系统,证明:如果对i=1,2,…,n,有Need>0而且所有最大需求量之和小于m+n,那么该系统是死锁无关的。


    正确答案:设每个进程对共享资源的最大需求量为x(0<x≤m),由于每个进程最多申请使用x个资源,在最坏的情况下,每个进程都得到了(x-1)个资源i并且都需申请最后一个资源。这时系统剩余资源数为:m-n(x-1)。只要系统还有一个资源可用,就可使其中的一个进程获得所需的全部资源。该进程运行结束后释放出它所占用的资源,其他进程的资源需求也可全部得到满足。因此,当m-m(x-1)≥1时,即x≤(m+n-1)/n时系统不会发生死锁。进而可得系统中所有进程的最大需求量之和n·x≤(m+n-1)时系统不会发生死锁。该题中,所有进程最大需求量之和小于m+n,所以,该系统是死锁无关的。

  • 第19题:

    若两个并发进程共享4个同类资源,为使系统不会死锁,则每个进程至多可以申请()个该类资源。

    • A、1
    • B、2
    • C、3
    • D、4

    正确答案:B

  • 第20题:

    单选题
    若某系统有某类资源5个供若干进程共享,不会引起死锁的情况是()
    A

    有6个进程,每个进程需1个资源

    B

    有5个进程,每个进程需2个资源

    C

    有4个进程,每个进程需3个资源

    D

    有3个进程,每个进程需4个资源


    正确答案: D
    解析: 暂无解析

  • 第21题:

    问答题
    N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,所有进程总共的资源需求少于M+N个,证明该系统此时不会产生死锁。

    正确答案: 设max (i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: 
    max(1)+┅+max(n)=(need(1)+┅+need(n))+((alloc(1)+┅+alloc(n)) 如果在这个系统中发生了死锁,那么一方面m个资源应该全部分配出去,          
    alloc(1)+ ┅+alloc(n)=m 
    另一方面所有进程将陷入无限等待状态。可以推出          
    need(1)+ ┅+need(n) 上式表示死锁发生后,n个进程还需要的资源量之和小于n,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
    解析: 暂无解析

  • 第22题:

    单选题
    若系统有某类资源10个供若干进程共享,下列可能引起死锁的情况是()
    A

    有2个进程,每个进程需3个资源

    B

    有3个进程,每个进程需3个资源

    C

    有4个进程,每个进程需3个资源

    D

    有5个进程,每个进程需3个资源


    正确答案: C
    解析: 暂无解析

  • 第23题:

    问答题
    系统有同类资源m个,被n个进程共享,问:当m>n和m≤n时,每个进程最多可以请求多少个这类资源时,使系统一定不会发生死锁?

    正确答案: 当m≤n时,每个进程最多请求1个这类资源时,系统一定不会发生死锁。当m>n时,如果m/n不整除,每个进程最多可以请求”商+1”个这类资源,否则为”商”个资源,使系统一定不会发生死锁
    解析: 暂无解析