死锁详解

来源:互联网 发布:tags是什么软件 编辑:程序博客网 时间:2024/05/16 18:32

死锁的定义:多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们将无法再向前推进。

产生死锁的原因

(1)竞争资源;

(2)进程间推进顺序非法

死锁的必要条件

(1)      互斥条件,一段时间内某资源只能由一个进程占用。

(2)      请求和保持条件,请求资源时,不是放已占有的资源

(3)      不剥夺条件,使用的资源不能被剥夺

(4)      环路等待。

处理死锁的基本方法

(1)      预防死锁

(2)      避免死锁

(3)      检测死锁

(4)      接触死锁

预防死锁的方法

(1)      摒弃“请求和保持”条件,采用这种方法也就是在所有进程开始运行之前,都必须一次性的申请其在整个运行过程中所需要的全部资源。

(2)      摒弃“不剥夺”条件,当一个已经保持了一些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放他已经保持的所有资源,待以后需要时再重新申请。

(3)      摒弃“环路等待”条件,系统将所有资源按类型进行线性排队,并赋予不同的序号。

原创粉丝点击