操作系统复习2.4.0-死锁详解

news/2024/11/27 4:34:16/

什么是死锁

各进程互相竞争对手里的资源,导致各进程都阻塞,都无法向前推进

死锁、饥饿、死循环的区别

死锁:各进程互相持有对方想要的资源且不释放,导致各进程阻塞,无法向前推进
饥饿:由于长期得不到想要的资源,某进程无法向前推进
死循环:某进程执行某个过程一直跳不出某个循环的现象

死锁产生的四个必要条件

  • 互斥:不互斥不会死锁
  • 不剥夺:进程所持有的资源不能被其他进程强行夺走
  • 请求和保持:进程至少持有了一个资源,但同时申请新的资源,不释放已持有资源
  • 循环等待:存在一个进程资源循环等待链,即每个进程申请的资源已被上一个进程持有,已持有资源被下一个进程申请

什么时候发生死锁

  • 竞争不可剥夺资源
  • 进程推进顺序非法,请求和释放资源的顺序不当
  • 信号量使用不当,如互斥在同步之前

死锁处理策略

  • 预防死锁:破坏四个条件其一或多个
  • 避免死锁:银行家算法,避免死锁出现
  • 死锁的检测和解除:允许死锁出现,但会检测死锁的发生并采取措施解除死锁

预防死锁

破坏互斥条件

互斥资源变为共享资源,如SPOOLing技术改造打印机,设置空闲缓冲区存储要打印的数据,并为用户申请并填写请求打印表,将此表挂到请求打印队列上,当打印机空闲则从队列中取表,开始打印

破坏不可剥夺条件

不剥夺条件:其他进程不能强行剥夺进程持有的资源

  • 当某个进程请求资源得不到满足时,立即释放保持的所有资源,等需要时再重新申请
  • 当某个进程需要的资源被其他进程所占有时,可通过操作系统强行剥夺想要的资源

缺点:实现复杂 ,释放持有资源会导致一部分工作失效,反复申请和释放资源会增加系统开销,降低系统吞吐量,有可能综测饥饿

破坏请求和保持条件

静态分配,一次性分配所需全部资源,不然不让他投入运行,运行期间一直归他所有
实现简单,但缺点明显
一部分资源可能只需要使用很短时间,但长期持有造成了浪费,资源利用率低和可能造成进程饥饿

破坏循环等待条件

顺序资源分配法:编号资源,规定每个进程必须按编号递增的顺序请求资源,即持有a号资源,则只能申请大于a的号的资源
缺点在新增设备困难, 编号不方便,实际使用顺序可能不按着递增来,编程困难

避免死锁

安全序列

按照这样的序列分配资源,不会死锁

几种状态间的联系

安全序列不会发生死锁,有安全序列就是安全状态,没有则是不安全状态
不安全状态可能发生死锁,安全序列可能有多个
死锁一定是发生在不安全状态

银行家算法

在这里插入图片描述

通过预分配找出安全序列

死锁的检测和解除

死锁的检测

在这里插入图片描述
如果这样的图能最后消除所有边,则称是可完全简化的,一定不会死锁,否则会发生死锁

通过图记录资源的请求和分配信息,通过算法检测是否处于死锁状态
在这里插入图片描述

死锁的解除

在这里插入图片描述


http://www.ppmy.cn/news/210401.html

相关文章

5 个强大的 HTML5 API

HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序。本文将介绍5个新型的API,希望对你的开发工作有所帮助。 1. 全屏API(Fullscreen API) 该API允许开发者以编程方式将Web应用程序全屏运…

被面试官上过一课后,我学到的不止是如何答题

写在前面双向奔赴切勿急于否定自己做足功课关于简历关于简历投递常见面试题汇总● 按照一般的面试流程,先来一个自我介绍吧● 你的优点和缺点是什么● 你理解的项目经理是干什么的● 能完整的说一下软件项目的整个流程么● 项目经理和产品经理的区别在哪里● 项目管…

手机上哪款闹钟提醒APP好

相信有不少小伙伴都有这样的烦恼,随着进入职场工作的时间越来越久,每天要完成的各种事情很多,这一件件琐碎的待办事项非常容易被忽略或忘记。如果没有一个负责的“秘书”来定时提醒我们哪个时间点应该去做的事情,生活和工作势必会…

抖音直播用什么手机效果最好 抖音直播手机哪款好2023

抖音直播最好使用支持5G网络的高端智能手机,这可以保证直播过程的稳定性和流畅度。同时,需要考虑到拍摄画质和音效效果,以下是一些推荐的手机: iPhone 13系列:苹果新发布的iPhone 13系列内置A15芯片,支持5…

测试网上哪款软件最好,手机测试软件哪款好用?4款测试软件推荐

手机强不强测试上见真章!不服测个试呗!虽不能代表作手机的品质,但可以直观的反馈出手机硬件性能。通过专业的手机测试软件可以对手机硬件进行评分,了解手机每个硬件性能情况。 鲁大师: 《鲁大师》是一款支持Android、平…

iphone11各机型对比_iPhone 11系列手机买哪款好?iPhone 11系列对比评测

作为目前国内关注度最高的手机产品,iPhone 11、iPhone 11 Pro和iPhone 11 Pro Max让不少人都挑花了眼,甚至还有一些果粉至今仍在游移不定!那么,iPhone 11系列手机买哪款好呢?下面是小编分享的iPhone 11系列对比评测,小伙伴们可不要错过了。 三款新iPhone齐刷刷降价 iPhon…

2023年哪款手机浏览器比较好用,最后一个吹爆它

很多人不满足于手机自带的浏览器,为了更好地满足看视频、浏览网页、看小说等需求,不少人下载第三方手机浏览器来使用。我们都知道,手机浏览器是手机不可缺少的APP之一。那么,2023年哪款手机浏览器比较好用?下面分享今年…

IMX6ULL裸机篇之I2C实验-硬件原理图

一. I2C 实验简介 I2C实验,我们就来学习如何使用 I.MX6U 的 I2C 接口来驱动 AP3216C,读取 AP3216C 的传感器数据。 AP3216C是一个三合一的环境光传感器,ALSPSIRLED,ALS是环境光,PS是接近传感器,IR是红外L…