美文网首页
计算机操作系统学习笔记_进程管理--死锁

计算机操作系统学习笔记_进程管理--死锁

作者: JokerW | 来源:发表于2019-08-12 15:01 被阅读0次

进程管理

--死锁

一、死锁的概念

1.死锁的概念

  系统中两个或两个以上的进程无限期地相互等待永远不会发生的条件,系统处于一种停滞状态,这种情况称为死锁。

2.死锁产生的原因

  (1)进程推进顺序不当

  (2)对互斥资源的分配不当[并不是资源不足,但是剩余资源不足是有可能产生死锁的]。

 必须要指出的是,系统资源不足并不是产生死锁的原因,进程资源如果不足则进程就不会被创建,只有在资源部分分配以后,剩余的资源不能满足某些个进程的请求,造成进程集无法推进的现象才是死锁。

3.产生死锁的四个必要条件[必须满足四个条件,才有可能产生死锁]

  互斥条件: 任一时刻只允许一个进程使用资源。

  非剥夺条件: 进程已经占用的资源,不会被强制剥夺。

  占用并请求条件: 进程占有部分资源,申请更多的资源,且不会释放已经占有的资源。

  循环等待: 请求资源的进程形成了循环。

二、死锁处理策略

  对死锁的处理,常用的方法有:忽略死锁死锁的检测与恢复死锁的避免死锁的预防

1.死锁忽略

  死锁忽略最典型的算法是鸵鸟算法。

2.死锁检测和恢复

 死锁的检测方法:

  1).资源分配图算法

  2).资源矩阵法

 恢复死锁常用的方法:

3.死锁避免

 1).安全与不安全状态

   某一时刻,系统能按某种顺序为每个进程分配其所需资源,使每个进程都能顺利地完成,则称此时系统处于安全状态。反之,称之为不安全状态。

 2).银行家算法

   银行家算法问题描述是:一个银行家把他的固定资金借给若干顾客,使这些顾客能满足对资金的要求又能完成其交易,也使银行家可以收回全部的现金。只要不出现一个顾客借走所有资金后还不够、还需要借贷,则银行家的资金应是安全的

                    银行家算法示例

4.死锁预防

   所谓死锁预防,就是采用某种策略,限制并发进程对资源的请求,使系统在任何时刻都不满足死锁的四个必要条件。死锁预防主要是针对破坏四个必要条件进行的。

相关文章

  • 计算机操作系统学习笔记_进程管理--死锁

    进程管理 --死锁 一、死锁的概念 1.死锁的概念 系统中两个或两个以上的进程无限期地相互等待永远不会发生的条件,...

  • 操作系统基础知识--01 计算机操作系统概述

    主要考点: 操作系统的作用 进程管理及PV 死锁 存储系统 磁盘管理 文件系统

  • 操作系统目录

    操作系统目录 操作系统概论进程的描述与控制输入输出系统存储器管理处理调度与死锁

  • 操作系统知识总结

    操作系统基础知识总结(一) 进程和线程的区别 死锁的必要条件,怎么处理死锁 内存管理方式:段存储,页存储,段页存储...

  • 死锁的产生以及解决死锁的办法

    前言:继续学习操作系统相关知识,做一个关于 Deadlock 的总结 死锁是什么 用通俗的话说:死锁就是一组 进程...

  • 多线程基础(ios)

    进程的概念 进程是操作系统上的概念,操作系统是直接驱动、管理计算机硬件的一款管理软件,它的运行帮助我们利用计算机硬...

  • 操作系统学习三:进程调度与死锁 以及银行家算法避免死锁 .Net

    前言 这是操作系统学习的第三篇啦,关于进程调度有很多内容,操作系统在调度进程的时候最容易遇到的问题就是死锁了,银行...

  • 死锁 互斥 同步

    操作系统中的互斥,同步与死锁 死锁: 两个及以上进程,因每个进程都在等待其他进程做完某事(如释放资源),而不能继续...

  • 大三准备BAT的第一周

    操作系统 1.进程和线程作用区别 进程是资源管理基本单位 线程是资源调度基本单位 区别:资源角度,, 2.死锁原因...

  • 面试需要掌握的知识点

    计算机操作系统内存管理、多线程、解决死锁,通信,银行家算法,生产者消费者 计算机网络HTTP(get post 状...

网友评论

      本文标题:计算机操作系统学习笔记_进程管理--死锁

      本文链接:https://www.haomeiwen.com/subject/ppdujctx.html