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

news/2025/9/30 10:16:45/文章来源:https://www.cnblogs.com/jimGraymane/p/19120083

破坏互斥条件

对于必须互斥使用资源的争抢才会导致死锁

如果吧互斥使用的资源改为允许共享使用,则系统不会进入死锁状态

比如SPOOLing技术:

就以打印机为例子,假如进程1和进程2都申请使用打印机,SPOOLing会在两个进程和打印机中间新增一个输出进程,当进程1和进程2的打印请求被输出进程接受和响应之后,就可以做别的事情去了,而后由输出进程依次去打印机请求

这个策略的缺点:并不是所有的资源都可以完成改造可共享使用的资源,并且为了系统安全,很多地方还必须保护这种互斥下,因此很多时候都无法破坏互斥条件

破坏不剥夺条件

在进程锁获得的资源违背使用完之前,不难被其他进程强行夺走,只能主动释放

1.当某个进程请求新的资源得不到满足的时候,它必须立即释放保持所有的资源,待以后需要时候再重新申请,也就是说,即使某些资源尚未使用完,也要主动释放,从而破坏了不可剥夺的条件

2.某个进程需要的资源被其他进程占用的时候,可以有操作系统协助,将想要的资源强行剥夺,需要考虑各进程的优先级

缺点:

1.实现起来比较复杂

2.释放已经获得的资源可能造成前一个阶段工作的实效,因此这种方式一般只适用于容易保存和恢复状态的资源,比如cpu

3.反复的盛情和释放资源会增加系统开销,降低系统吞吐量

4.如果采用方法1,意味着只要暂时得不到某个资源,之前的那些资源都需要放弃,以后再重新申请,如果一直重复会导致饥饿

破坏请求和保持条件

进程已经保持了至少一个资源,但是又提出了新的资源请求,而该资源又被其他进程占有,此时请求被阻塞,但是对自己已经有的资源保持不放

可以采用静态分配的方法,再运行前一次申请完它所需的全部资源,再资源未满足前,不让它投入运行,一旦投入运行就一直归他所有

实现简单

缺点:

有些资源可能只需要用很短的时间,因此如果进程的整个运行期间都一直保持着所有资源,就会早晨更严重的资源浪费,资源利用率极低,也可能导致某些进程饥饿

破坏循环等待条件

存在一种进程资源的循环等待脸,链中的每一个进程已获得的资源同时被下一个进程所需求

可以采用顺序资源非配发,首先给系统中的资源编号,规定每一个进程必须按照编号递增的顺序请求资源,同类资源一次申请完

原理:一个进程只占有小编号资源时,才有资格申请更大编号的资源,按照这个规则,已经持有大编号资源的进程不可能逆向来回申请小编号的资源,从而不会产生循环等待的现象

缺点:

1.不方便增加新的设备,可能需要重新分配所有的编号

2.进程时机使用的资源顺序可能和比那好递增顺序不一样,造成资源浪费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨网文件安全交换系统:提升数据传输安全性和合规性

跨网文件安全交换系统是现代企业管理中不可或缺的一部分,特别是Ftrans Ferry跨网文件安全交换系统和内外网文件摆渡系统,正好契合了对敏感信息保护需求日益增长的趋势。这些系统通过先进的加密技术和严格的身份验证,…

企业网站注册域名的步骤网站建设培训价格

效果: 1.编译FFmpeg库: 下载FFmpeg-kit的源码并编译生成安装平台库 2.复制生成的FFmpeg库so文件与包含目录到自己的Android下 如果没有prebuiltLibs目录,创建一个,然后复制 包含目录只复制arm64-v8a下

swoole怎么做直播网站wordpress文章不显示图片

2345浏览器安装完成之后默认将2345导航设为主页,但是很多用户其实不习惯用2345导航,那2345浏览器怎么换主页呢?今天小编就教一个方法。 2345浏览器换主页教程 1、首先打开2345浏览器,找到在网站页面的“工具”在浏览器的右上角&#xff0c…

ArcGIS 公众号推荐

ArcGIS 公众号推荐Arcigs带你飞 地学大数据 GIS前沿 小猿猴GISer

跨网文件交换系统:数字化时代企业与机构的数据安全传输利器

如今,随着数字化进程全面提速,任何组织的“生命线”都系在数据能否顺畅流动上。为了守住安全底线,网络隔离已成标配——研发网、办公网、生产网被企业层层切分,医院、政府的内网与外网更是泾渭分明。可越是“隔离”…

软件开发定制app网站首页关键如何优化

作者:饶子昊、杨龙 应用复杂度提升,根因定位困难重重 随着软件技术发展迭代,很多企业软件系统也逐步从单体应用向云原生微服务架构演进,一方面让应用实现高并发、易扩展、开发敏捷度高等效果,但另外一方面也让软件应…

期货市场API对接完全指南:实时行情获取与实战应用

期货市场API对接完全指南:实时行情获取与实战应用本文详细介绍了如何通过API接口获取全球期货市场的实时行情数据,包含完整的代码示例、数据处理方法和实战应用场景。一、期货API概述 期货市场是金融市场的重要组成部…

AT_agc037_c [AGC037C] Numbers on a Circle

你倒着考虑,有一个结论是:如果一个 \(b\) 可以操作,它一定会操作到不能操作为止,然后换别的数操作。这样我们可以维护当前 \(b\) 的最大值,每次操作 \(b\) 至少减半,于是时间复杂度做到了 \(O(n \log n \log V)\…

记账本|基于SSM的家庭记账本小程序设计与实现(源码+数据库+文档) - 实践

记账本|基于SSM的家庭记账本小程序设计与实现(源码+数据库+文档) - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: …

爱名网做网站教程制作网线

深度睡眠(C3)和深度睡眠(C4)是用于描述移动平台电源管理的术语。电源管理就是通过将 CPU 置于不使用状态时休眠来延长电池续航时间。C3 深度睡眠和 C4 深度睡眠是 ACPI 电源管理状态。更深的睡眠源自 CPU 和芯片组交互的改进,以重定向 snoop 周期。CPU 的深度 C4 状…

网站建设免费空间注册导航公司名称可以和网站域名不同吗

文章目录 环境配置靶场介绍靶场设置 外网渗透信息收集端口扫描目录扫描 漏洞发现与利用获取ssh账号密码,登录centos 提权 内网渗透建立代理内网信息收集smb暴破,获取本地管理员密码 横向移动使用psexec模块上线msf 环境配置 靶场介绍 靶场地址 http:/…

做网站行业零代码开发平台

最近在看《设计模式与游戏完美开发》,文章将记录一些要点和一些设计模式实现 GoF定义的23种设计模式及应用场景 系统设计可以采用的设计模式:单例、状态(场景切换)、外观(保证高内聚)、中介者&#xff08…

缩放 div

缩放 div<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0&q…

Redis从零讲解 - 详解

Redis从零讲解 - 详解2025-09-30 09:50 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-…

如何建设社区网站野花韩国视频在线观看免费高清

知识图谱&#xff1a;浙江大学教授 陈华军 知识图谱 1课时 http://openkg.cn/datasets-type/ 知识图谱的价值 知识图谱是有什么用&#xff1f; 语义搜索 问答系统 QA问答对知识图谱&#xff1a;结构化图 辅助推荐系统 大数据分析系统 自然语言理解 辅助视觉理解 例…

房地产行业网站开发网页界面设计公司

文章目录一、环境分布二、实战1. kafka下载2. 解压3. 配置4. 编写启动脚本5. 编写关闭脚本6. 赋予脚本可执行权限7. 脚本使用案例一、环境分布 软件版本jdk1.8kafkakafka_2.13-2.5.0 二、实战 kafka官网地址&#xff1a; http://kafka.apache.org/downloads 1. kafka下载 …

【2025-09-29】团队合作

20:00没有了家庭,在广大的宇宙间,人会冷得发抖。——安德烈莫罗阿今早比平时提前了15分钟出门送大宝上学。因为公司内部有个产品宣讲会议,时间定在9点半,刚好是我平时上班回到公司的时间。考虑到参会人员都是公司领…

淘宝客api网站架设教程建设公司门户网站

文章目录 一、单选题1、三次握手、四次挥手发生在网络模型的哪一层上&#xff1f;2、互联网Internet的拓扑结构是什么&#xff1f;3、以下哪一种网络设备是工作在网络层的&#xff1f;4、以下哪种关于分组交换网络的说法是错误的&#xff1f;5、以下哪种协议是在TCP/IP模型中的…

pg库支持扩展postgis

-- 在 psql 中启用 PostGIS 扩展 CREATE EXTENSION IF NOT EXISTS postgis; CREATE EXTENSION IF NOT EXISTS postgis_topology; -- 可选,用于拓扑操作