当前位置: 首页 > news >正文

2.4.2死锁的处理策略-预防死锁

知识总览

破坏互斥条件

意思是把互斥资源改造成共享资源,同一时刻可以被多个进程使用,如spooling技术把互斥设备打印机改造成了共享设备,即多个进程请求打印机时,先接收各个进程的请求,让各个进程可以继续往下执行,然后再根据接收请求的顺序依次处理打印机请求。但是因为有的资源为了安全就不能改造成共享资源,所以这种方法用的少

 

破坏不剥夺条件

第一种:当前进程释放已拿到的所有资源。

第二种:让操作系统去抢夺别的进程拿到的资源。

第一种:A进程已经有了3个资源,还有某个资源请求使用,如果这个资源暂时得不到满足,就释放已经拿到的所有资源,以下2种破坏不剥夺让A进程自动释放已经拿到的3个资源,即使这些资源A进程还没用完,破坏了不剥夺条件,但是如果每次A进程都释放所有资源,可能出现释放了3个,再重新申请第3个资源又申请不到然后等待又主动释放拿到的2个资源,然后再重新申请3个资源,再申请第2个的时候又拿不到第2个资源,再释放已经拿到的第1个资源,依次类推,可能导致A进程出现饥饿现象。还有就是每次重新申请资源啥的增加系统开销

第二种:另外可以A进程去告诉操作系统需要某种资源,让操作系统去抢别的进程的该资源(剥夺别人的资源,破坏了不剥夺条件),满足A进程的请求。但是这种一般需要看进程的优先级才能抢别人的。,,,,

破坏请求和保持条件

静态分配:X进程已经有了至少一个资源,还需要别的资源,别的资源又被别的进程占用,此时X进程阻塞,但是又保持自己已经拿到的资源不放,可以采用静态分配,比如X进程整个运行期间需要两个资源,那在运行之前就把2个资源都申请到再运行,直到X进程运行完再释放,那么X在运行时就不会再申请其他资源

缺点:导致某些进程饥饿。比如下图中的A类进程运行只需资源1,B类进程运行只需资源2,C类进程运行需资源1+资源2,如果采用静态分配且有源源不断的A类、B类进程进来,那会导致资源1和资源2一直被A类、B类进程占用,即C类进程可能申请不到资源1和资源2同时空闲的情况,即C类进程导致饥饿,另外就是会导致资源浪费,因为资源全部被申请,但是有的资源可能最后使用,那该资源就一直空闲且不能被其他进程使用

破坏循环等待条件 

给资源编号,每个进程申请多个资源时,必须已经申请到小编号的进程才能申请大进程的编号,即假如A进程需要资源1、资源2,B进程需要资源1、资源2、资源3,当A进程申请到了资源1,资源2空闲时,B进程也不能申请到资源2,因为B进程还没申请到资源1,所以就不会出现A申请到了1,B申请到了2,A等待B释放2,B等待A释放1这种环路等待情况了。但是可能进程在运行时使用资源的顺序和编号不一致,即A申请了1,但是A可能现在运行时还不用,可能等到最后运行时才使用,另外就是添加新的设备资源时不方便,可能会影响其他资源的编号,另外就是用户编程麻烦,比如在A电脑上同一套程序需要申请打印机编号1,录音机编号2,用户编程根据编号大小先申请打印机再申请录音机资源,但是在其他电脑上打印机编号可能为编号2,录音机为编号1,那用户编程就要改程序先申请编号1录音机,再申请编号2打印机

知识回顾

 

。。。。。。。。。。。 

相关文章:

  • DB31/T 1552-2025《居民电子健康档案应用系统等级评估指南》:上海地方标准全面解析
  • notepad++
  • 【设计模式】基于 Java 语言实现工厂模式
  • 替换word中的excel
  • OpenCV 第6课 图像处理之几何变换(重映射)
  • 水利数据采集MCU水资源的智能守护者
  • numpy数组的复数和时间的操作
  • 软考软件评测师——黑盒测试测试方法
  • vscode 常用调试
  • Linux中的 I/O 复用机制 select
  • win11下docker 的使用方案
  • 信奥赛-刷题笔记-栈篇-T2-P1165日志分析0519
  • AI大模型应用微调服务商分享:微调技术Lora和SFT的异同
  • 从JSON中提取任意位置键对应值的几种Python方法
  • 机器学习 集成学习方法之随机森林
  • MySQL——基本查询内置函数
  • matlab慕课学习3.4
  • 跟踪AI峰会,给自己提出的两个问题。
  • Windows系统下MySQL 8.4.5压缩包安装详细教程
  • 如何使用通义灵码辅助开发鸿蒙OS - AI编程助手提升效率
  • 巴基斯坦一校车发生爆炸,已造成5名儿童死亡38人受伤
  • 太原一居民手机号被企业公示常遭骚扰,负责人称是用过的旧号
  • 全国治安管理工作视频会召开
  • 上海地铁:一孩童鞋子卡于电梯梯级处,其间未造成人员受伤
  • 陕西籍青年作家卜文哲爬山时发生意外离世,终年28岁
  • 武汉警方通报一起故意伤害案件:1人死亡,嫌疑人已被抓获