死锁

来源:互联网 发布:网络专科学历有用吗 编辑:程序博客网 时间:2024/06/15 01:21

死锁:多个进程竞争同一个资源而陷入一种僵局(互相等待),若无外力作用,进程将无法继续向前推进。

死锁产生的原因有两个:

1)竞争资源

2)进程推进顺序非法

死锁产生的四个必要条件:

1)互斥条件:进程对于资源的控制有排他性。即某段时间内某资源只能被一个进程所使用,如果有其它进程请求该资源,那么请求进程只能等待。

2)不可剥夺:进程获得的资源在未被使用完之前,不可被其它进程强行夺走,即资源只能由该进程自己释放。

3)请求和保持:又称部分分配,进程每次请求分配一部分资源,在获得新资源之前继续拥有已分配的资源。

4)循环等待:存在进程资源等待链,链中进程获得的资源同时被下一个进程请求。

死锁处理策略

1)预防死锁--设置某些限制性条件,破坏死锁产生四个必要条件中的一个或者几个。

2)避免死锁--在资源动态分配过程中,用某种方法防止系统进入不安全状态。

3)死锁的检测与解除

资源剥夺

撤销进程

进程回退

0 0