操作系统(五)—— 死锁

一、死锁的产生

1、死锁的定义

        所谓死锁是在多道程序中的一种现象,一组进程中的每一个进程均无限期地等待被该组进程中的另一个进程所占有且永远不会释放的资源。处于死锁状态的进程称为死锁进程。

       系统发生死锁时,死锁进程的个数至少为两个;所有死锁进程都在等待资源,并且其中至少有两个进程已占有资源。

2、死锁产生的原因

        死锁产生的原因主要有两个:一是竞争资源;二是多道程序运行时,进程推进顺序不合理。

(1) 资源的概念

        一般把系统中的资源分成两类:一类是永久性资源(可重用资源),是指系统中可供进程重复使用、长期存在的资源;二是临时性资源(消耗性资源),是指由某个进程所产生、只为另一个进程使用一次或经过短暂时间后便不再使用的资源。

3、死锁产生的必要条件

(1) 死锁产生的四个必要条件

① 互斥条件

        资源是独占的且排他使用,进程互斥使用资源。

② 不可剥夺条件

        进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺。

③ 请求和保持条件

        进程先申请它所需要的一部分资源,得到后再申请新的资源,在申请新资源的同时,继续占有已分配的资源。

④ 循环等待条件

        又称环路等待。在发生死锁时,必然存在一个进程等待队列,形成一个进程等待环路,环路中每一个进程已占有的资源同时被另一个进程所申请。

(2) 解决死锁的四种方法

① 预防死锁

② 避免死锁

③ 检测与解除死锁

④ 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值