操作系统知识点整理(六)

本文详细阐述了操作系统中的死锁问题,包括定义、发生条件、产生原因和解决方法。死锁是当多个进程因争夺资源而形成的僵局,满足互斥、持有并等待、不可剥夺和环路等待四个条件。解决死锁的方法包括防止、避免、检测和恢复,其中银行家算法用于避免死锁,死锁检测算法则用于识别和恢复死锁状态。
摘要由CSDN通过智能技术生成

死锁

1、定义

  • 在许多应用中进程需要以独占的方式访问资源,当操作系统允许多个进程并发执行时可能会出现进程永远被阻塞现象,如两个进程分别等待对方所占的资源,于是两者都不能执行而处于永远等待状态,此现象称为死锁。
  • 如果一个进程集合中的每个进程都在等待只能由此集合中的其他进程才能引发的事件,而无限期陷入僵持的局面称为死锁。

2、死锁发生的四个条件

死锁只有同时满足以下四个条件才会发生

(1)互斥条件

  • 临界资源是独占资源,进程应互斥且排他的使用这些资源。

(2) 持有并等待条件

  • 进程在请求资源得不到满足而等待时,不释放已占有资源。

(3)不可剥夺条件

  • 又称不可抢占,已获资源只能由进程自愿释放,不允许被其他进程剥夺。

(4) 环路等待条件

  • 存在循环等待链。其中,每个进程都在等待链中等待下一个进程所持有的资源,造成这组进程处于永远等待状态。

3、死锁产生原因

(1)系统拥有的资源数量

(2)资源分配策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值