[2][40][多选]计算机系统产生死锁的原因是
系统总资源不足
系统发生重大故障
进程资源分配不当
并发进程推进顺序不当
资源互斥使用
答案
进程资源分配不当
并发进程推进顺序不当
解析
若系统中存在一组进程,它们中的每一个进程都占用了某类不可抢占的资源而又都在等待该组进程中另一个进程所占用的不可抢占的资源,这种等待永远不能结束,就说系统出现了“死锁”。死锁产生的主要原因如下:
**进程资源分配不当**:当系统在分配资源时,如果没有合理的策略,可能会导致某些进程占用了部分资源后,又请求其他被其他进程占用的资源,而系统又无法强制收回已经分配的资源,从而形成死锁。例如,进程A占用了资源R1,进程B占用了资源R2,此时进程A又请求资源R2,进程B又请求资源R1,并且它们都不释放自己已占有的资源,就会导致死锁。
**并发进程推进顺序不当**:在多个进程并发执行的过程中,如果进程的推进顺序不合理,也可能导致死锁。例如,两个进程P1和P2,它们需要使用两种资源R1和R2。如果P1先占用R1,然后P2占用R2,接着P1等待R2,P2等待R1,就会出现死锁情况。这种情况是由于进程推进的顺序不符合资源分配的合理要求导致的。
【涉及考点】
第8章 死锁
转载请注明出处。