操作系统之死锁及其产生条件

一、死锁

在多道程序应用的领域中,由于多个进程并发执行,这样可以在很大程度上提高程序运行效率。这时候就会产生一个状态叫死锁,死锁 是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。下面我将介绍死锁产生的四个条件。

二、死锁产生条件

1、互斥条件: 进程要求对所分配的资源进行排他性控制,即在一段时间内某资源仅为一个进程所占有。此时若有其他进程请求该资源,则请求进程只能等待。
2、不剥夺条件: 进程所获得的资源在未使用完之前, 不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放( 只能是主动释放)。
3、请求并保持条件: 进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时请求进程被阻塞,但对自己已获得的资源保持不放。
4、循环等待条件: 存在一种进程资源的循环等待链,链中每个进程已获得的资源同时被链中下一
个进程所请求。

你可能感兴趣的:(操作系统,操作系统,死锁,死锁产生条件)