【答】 所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。 产生死锁的原因: ( 1 ) 竞争资源,当系统中供多个进程所共享的资源,不足以同时满足它们的 需要时,引起它们对资源的竞争而产生死锁; ( 2 ) 进程推进顺序非法,进程在运行过程中,请求和释放资源的顺序不当, 导致进程死锁。 产生死锁的必要条件: ( 1 ) 互斥条件 进程对所分配到的资源进行排他性使用。如果此时还有其他进程请求该资源,请求者只能阻塞,直到占有该资源的进程释放该资源。 ( 2 ) 请求和保持条件 进程已经保持了至少一个资源,但又提出了新的资源要求,而该资源又已被其他进程占有,此时请求进程阻塞,但请求进程又对已经获得的其他资源保持不放。 ( 3 ) 不剥夺条件 进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完后由自己释放。 ( 4 ) 环路等待条件 在发生死锁时,必然存在一个进程——资源的环形链。