- 死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都无法向前推进。
- 死锁产生的根本原因是:系统提供的资源个数少于并发进程所要求的该类资源数。
产生死锁的必要条件:
互斥条件:占有资源不能同时被两个进程使用或操作,进程对它所需要进行排他性控制。
不剥夺条件:在所获得资源未使用完时,不能被其他进程强行剥夺。
部分分配:每次都只是申请他所需要的一部分资源,在等待资源的同时,继续占用分配到的资源。
环路条件:所获得的资源被下一个进程所请求。解决死锁条件可分为预防,避免,检测,恢复。
- 死锁预防是采用某种策略,限定对并发进程对资源的要求,从而使死锁的必要条件在系统执行的任何时间都不满足。预先分配并发进程需要的全部资源;打破死锁的环路条件。
- 死锁避免:动态预防,进程的请求量不能大于空闲资源和该进程准备释放的资源。
- 死锁的检测和恢复:在进行资源请求时,死锁检测算法检查并发进程是否构成资源的请求和保持环路。有限状态转移图或者某种算法。死锁的恢复是终止各锁住的进程,并按照一定顺序终止该进程。
死锁
最新推荐文章于 2024-02-28 12:00:10 发布