当前位置:首页 > 四级网络工程师 > [2] > 正文内容

[2][40][多选]计算机系统产生死锁的原因是

[2]1年前 (2025-01-21)

系统总资源不足

系统发生重大故障

进程资源分配不当

并发进程推进顺序不当

资源互斥使用


答案


进程资源分配不当

并发进程推进顺序不当


解析


若系统中存在一组进程,它们中的每一个进程都占用了某类不可抢占的资源而又都在等待该组进程中另一个进程所占用的不可抢占的资源,这种等待永远不能结束,就说系统出现了“死锁”。死锁产生的主要原因如下:

**进程资源分配不当**:当系统在分配资源时,如果没有合理的策略,可能会导致某些进程占用了部分资源后,又请求其他被其他进程占用的资源,而系统又无法强制收回已经分配的资源,从而形成死锁。例如,进程A占用了资源R1,进程B占用了资源R2,此时进程A又请求资源R2,进程B又请求资源R1,并且它们都不释放自己已占有的资源,就会导致死锁。

**并发进程推进顺序不当**:在多个进程并发执行的过程中,如果进程的推进顺序不合理,也可能导致死锁。例如,两个进程P1和P2,它们需要使用两种资源R1和R2。如果P1先占用R1,然后P2占用R2,接着P1等待R2,P2等待R1,就会出现死锁情况。这种情况是由于进程推进的顺序不符合资源分配的合理要求导致的。

【涉及考点】

第8章 死锁


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=1841

相关文章

[2][2][单选]用户程序在用户态下使用特权指令而引起的中断是

时钟中断外部中断访管中断溢出中断答案访管中断解析用户程序不能直接使用特权指令。如果用户程序在用户态下...

[2][4][单选]用户在编写程序时,若要在屏幕上画出一个红色的圆,需要使用

自然语言系统调用命令控制运行时系统答案系统调用解析用户在编写程序时,若要在屏幕上画出一个红色的圆,需...

[2][9][单选]在Pthread线程包中,线程操作pthread_yield表示的是

线程让出CPU创建一个线程阻塞一个线程等待一个特定的线程退出答案线程让出CPU解析线程操作pthre...

[2][10][单选]在采用非抢占式调度的操作系统中,不能引起新进程调度的事件是

正在运行的进程用完时间片正在运行的进程出错正在运行的进程等待I/O事件新创建的进程进入就绪队列答案新...

[2][12][单选]对于信号量S,执行一次P(S)操作后,S的值

变为1不变减1减指定数值答案减1解析PV操作由P操作原语和V操作原语组成原语是不可中断的过程对信号量...

[2][21][单选]下列哪一种方法不能用于提高文件目录检索效率

限制子目录个数引入当前目录采用相对路径文件名将目录项分解答案限制子目录个数解析引入当前目录可以减少路...