关于临界资源分配的一道题

(2016.25)系统中有三个不同的临界资源R1,R2,R3,被4个进程p1,p2,p3,p4共享。各进程对资源的需求为:p1申请R1和R2和R3,p3申请R2和R3,p3申请R1和R3,p4申请R2。若系统出现死锁,则处于死锁状态的进程数至少是:C

A. 1 B. 2 C. 3 D. 4

资源分配图如下:


图片发自简书App

可以看出,P4是不影响系统最终状态的,因为只要给它分配资源,完成后就会释放资源。

所以,不管给不给P4分配资源,最终三类资源都是在P1,P2,P3之间进行分配

简化后的资源分配图如下:

图片发自简书App

由于资源和进程都是完全对称的,所以对资源的分配可以分两种情况

①第1种情况下,有了循环(题目中并没有给出各类资源的具体个数。资源数-出边≥入边?无法判断,所以不一定发生死锁),按照题目要求,此刻发生了死锁。那么必定是三个进程都无法进行,因为只要有一个进程申请的资源得到满足,完事后就会释放相邻的资源。循环状态就被破坏了,没有循环,一定不会发生死锁。

②第2种情况下,可以看出并没有形成循环。所以它是可以完全化简成孤立状态的。所以这种情况下必定不会发生死锁。


图片发自简书App

总结一下。

死锁只可能发生在上图的第1种情况。如果事先分配资源给P4进程,那么死锁进程就是p1、P2、P3,3个。如果没有分配的话,4个进程都是死锁状态

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一.死锁的概念以及产生死锁的原因 1.死锁的定义 在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率...
    Chasel_H阅读 4,930评论 0 4
  • iOS软件工程师职业图谱 描述 难度等级:R1-R5, 对应关系:零基础(R1)、简单(R2)、一般(R3)、困难...
    小李龍彪阅读 3,110评论 0 1
  • 死锁的概念 死锁的定义 在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率并提高了系统的处理能力。然...
    CodeKing2017阅读 5,477评论 0 4
  • 1.,什么是计算机的操作系统?计算机系统是由硬件和软件两部分组成的。操作系统是配置在计算机硬件上的第一层软件,是对...
    eightzg阅读 9,068评论 0 2
  • 初中学的游泳,在学会游泳之前,很怕水,在水里的感觉是恐惧的,害怕自己沉入水底就起不来,站在没有一米五深的游泳池里,...
    蒋诗桀阅读 3,211评论 0 1

友情链接更多精彩内容