操作系统——死锁

这篇具有很好参考价值的文章主要介绍了操作系统——死锁。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、为什么会产生死锁

(1)死锁概念:

死锁是指多个进程因为竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法推进。

(2)死锁产生的原因:

                         1.系统资源的竞争

                         2.进程推进顺序非法

二、产生死锁的条件有哪些(必要条件,缺一不可)

1.互斥条件

          进程申请的资源为临界资源

2.不剥夺条件

           进程已申请的资源不能被强行剥夺

3.请求并保持条件

           进程已经申请到的资源P1不会释放,且同时申请其他的资源P2。如果目前没有P2资源,进程仍保持P1资源,并进入阻塞状态,等待P2资源。

4.循环等待

三、死锁问题的解决方法

1.死锁预防:破坏四个必要条件中的一个(资源分配过程前)

1>破坏互斥条件   
    不现实,因为临界资源的使用必须互斥

2>破坏不剥夺条件

    当某个进程申请新资源得不到时,该进程需释放所有已申请资源。缺点:增加系统开销

3>破坏请求并保持条件

    预先静态分配。在进程运行前一次性申请他需要的所有资源,资源不够不让运行,一旦运行,所有资源一直属于该进程。缺点:系统资源严重浪费,因为进程可能只在某一个阶段用到某些资源。

4> 破坏循环等待

    顺序资源分配。给系统中的进程标号,规定进程必须按编号递增的顺序请求资源。

2.死锁避免:安全性检测算法和银行家算法(资源分配过程中)

安全性检测算法几乎每年必考一个选择,因此需较好掌握。但其原理也较简单,容易掌握。

操作系统——死锁银行家算法建立在安全性检测算法的基础上,稍微复杂,理解即可。

 文章来源地址https://www.toymoban.com/news/detail-432532.html

 

3.死锁的检测和解除:

1.死锁检测:操作系统——死锁

 

1>资源分配图

圆圈:进程

框:资源类,里面的小点点表示资源数量

进程指向资源的边:申请资源

资源指向进程的边:分配资源

2>死锁定理:

S为死锁的条件是当且仅当S状态的资源分配图是不可简化的

3>死锁解除

一旦发现死锁,要立即进行死锁解除

1)资源剥夺法

2)撤销进程法

3)进程回退法

四、总结

 

到了这里,关于操作系统——死锁的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【操作系统】死锁问题---死锁的消除方法

    本文章将主要解释死锁的消除方法 一、死锁的概念         这是《操作系统》对于死锁的定义: 有并发进程P1,P2,…Pn,它们共享资源R1,R2,…Rm (n0,m0, n=m)。其中,每个Pi(1≤i≤n)拥有资源Rj(1≤j ≤m),直到不再有剩余资源。同时,各Pi又在不释放Rj的前提下要求Rk(k≠j,1≤k ≤m),

    2024年02月15日
    浏览(43)
  • 操作系统考试复习——第三章 预防死锁 避免死锁

    预防死锁: 就是破坏死锁产生的四个条件之一就行。 0.破坏互斥条件:由于互斥条件是非共享设备所必须的所以,不仅不能改变还需要保证。因此我们主要考虑剩下的三个条件。 1. 破坏 \\\"请求和保持\\\" 条件 请求和保持也就是系统已经请求了一个资源它现在占有这个资源但是它

    2024年02月03日
    浏览(45)
  • 操作系统——死锁

    死锁是指 多个进程因为竞争资源 而造成的一种僵局( 互相等待 ),若无外力作用,这些进程都将无法推进。                          1.系统资源的竞争                          2.进程推进顺序非法           进程申请的资源为临界资源            进程已申请的资

    2024年02月02日
    浏览(38)
  • 操作系统之死锁详解

    本文已收录于专栏 《自考》   最近一直在做操作系统的测试题,在做题的过程中发现有很多地方涉及到了关于死锁的知识点。今天就回归课本来自己琢磨一下死锁。下面就把我琢磨的成果分享给大家。 并发编程:死锁是在并发环境下发生的,因此了解并发编程的基本概念

    2024年02月11日
    浏览(36)
  • 【操作系统】第2章进程同步、PV操作、死锁

    (1) 临界资源 :把 一个时间段内只允许一个进程使用的资源 称为临界资源。许多物理设备(摄像头、打印机)和许多变量、数据、内存缓冲区都属于临界资源。 对临界资源的访问必须互斥地进行 。 ① 进入区 :为了进入临界区使用临界资源,在进入区检查可否进入临界区

    2024年02月03日
    浏览(224)
  • Why Large Language Models Hallucinate and How to solve this//LLM为什么产生幻觉以及如何应对

    \\\" Large language models (LLMs) can generate fluent and coherent text on various topics and domains, but they are also prone to hallucinations or generating plausible sounding nonsense. This can range from minor inconsistencies to completely fabricated or contradictory statements. The causes of hallucinations are related to data quality, generation methods an

    2024年02月11日
    浏览(45)
  • 操作系统-进程和线程-同步、互斥、死锁

    目录 一、同步互斥  二、互斥的实现方法 2.1软件实现 2.1.1单标志法 2.1.2双标志先检查 2.1.3双标志后检查 2.1.4Petersons算法 2.2硬件实现 2.2.1 TestAndSet指令 2.2.2 Swap指令   三、信号量机制 3.1整形变量  3.2 记录型变量  3.3用信号量实现进程互斥、同步、前驱关系 3.3.1互斥  3.3.2同步

    2024年02月08日
    浏览(52)
  • 操作系统进程线程(三)—进程状态、同步互斥、锁、死锁

    原子操作的概念 原子操作就是不可中断的一个或者一系列操作。 原子操作如何实现 总线锁定 使用处理器提供的一个LOCK#信号,当一个处理器在总线上输出此信号的时候,其他处理器的请求将被阻塞住,那么该处理器可以独占内存。 缓存锁 总线锁开销比较大,因为把CPU和内

    2024年02月04日
    浏览(52)
  • 操作系统实验二死锁避免之银行家算法的模拟

    死锁  (1)定义  (2)死锁产生的原因  (3)死锁产生的必要条件  (4)死锁的处理策略 银行家算法  (1)核心思想  (2)数据结构  (3)算法描述    (4)  安全性检查算法 银行家算法的模拟 (1)数据结构 (2)完整代码 (3)测试 所谓死锁,是指多个进程因为竞争资

    2024年02月01日
    浏览(65)
  • 【第三章 | 处理机调度与死锁】《操作系统 慕课版》课后答案 + 复习

    目录 【第三章】处理机调度与死锁 | 本章概念 1.处理机调度概述 2.调度算法相关概念 3.实时调度相关概念 4.死锁 5.资源分配图 | 本章算法 1.周转时间与带权周转时间的计算公式 2.调度算法 FCFS  SJF  PR  RR 3.实时调度算法 EDF 4.避免死锁 —— 银行家算法 | 课后简答题 1.处理机调

    2024年02月01日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包