一、死锁的问题描述
进程管理是操作系统的核心,但如果设计不当,就会出现死锁问题,如果一个进程在等待一件不可能发生的事,则进程就死锁了,此时该进程将一直占用部分系统资源,而如果多个进程产生死锁,就会造成系统资源被占用完毕,进而造成系统死锁
- 死锁问题:操作系统需要检测和解决死锁问题,即多个进程因相互等待对方持有的资源而无法继续执行的情况。
二、死锁的解决方案
提高系统资源容量;
常见习题:计算机系统至少需要多少资源将不可能发生死锁问题;
例如:
图解:一个进程在得到所有所需资源之后将释放自身占用的资源,因此该例题至少需要13个资源则不可能发生死锁。计算方法:将每个进程所需资源减去一然后把他们相加,总数再加一,即为避免死锁所需的最少资源
三、发生死锁的四大必要条件
注:死锁的预防就是通过打破四大条件来进行
3.1 进程互斥
3.2 保持和等待
在资源总量并未满足完成进程所需资源的总量前提下,每个进程都保持自身占用的资源不变并且一直等待其他进程完成以获取其释放的系统资源