为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第18天 操作系统基础知识_6

标签:
活动

一、课程信息

打卡时间:2022.9.23
课程名称:2022新版编程必备基础,计算机组成原理+操作图片描述系统+网络
章节名称:第6章 操作系统之基础篇
讲师: 咚咚呛

二、今日课程

课程内容:死锁产生的原因、预防死锁的方法、银行家算法

三、学习心得

什么是死锁:
死锁指的是两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在相互等待的进程称为死锁进程。
死锁的产生:
(1)竞争资源
共享资源不够可能会产生
(2)进程调度顺序不当

死锁的四个必要条件:
(1)互斥条件
(2)请求保持条件
(3)不可剥夺条件
(4)环路等待条件,发生死锁时,必然存在进程-资源环形等待链

死锁的处理:
预防死锁的方法:只要要破坏死锁四个必要条件之一就可以防止死锁产生
具体做法:
系统规定进程运行之间,一次性申请所有需要的资源;
当一个进程请求新的资源的得不到满足时,释放自身占用的所有资源;
可用资源线性排序,申请必须按照需要递增申请。

著名的避免死锁的办法:银行家算法
银行家算法有三个数据结构表:已分配资源表、所需资源表、可分配资源表
通过所需资源表和已分配资源表可以得到还需分配资源表。将可分配资源表和还需分配资源表进行比较,查看是否可以满足某一进程的需求,如果有满足,则优先将资源分配给该进程,进程结束后回收资源并更新三张表。当所有进程的所需资源都没有办法得到满足时,系统大多数时候是会等待,或者强行杀进程等等的一系列补锅操作。

四、学习截图

图片描述
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消