死锁的定义、产生原因、必要条件和处理方法

死锁的定义
在一组进程发生死锁的情况下,这组死锁进程中的每个进程,都在等待另一个死锁进程所占有的资源。死锁的定义如下:
如果一个进程中的每一个进程都在等待仅该组进程中的其他进程才能引发的事件,那么该组进程是死锁的。
死锁的产生原因
死锁的起因,通常是源于多个进程对资源的争夺,不仅对不可抢占资源进行争夺或引起死锁,而且对可消耗资源进行争夺也会引起死锁。总结如下:
1、系统资源不足;
2、进程运行推进的顺序不当;
3、资源分配不当;
死锁产生的必要条件
1、互斥条件:进程在运行中对资源进行排他性使用,即一个资源仅能被一个进程使用,此时其他进程请求资源时,只能等待其释放。
2、请求与保持条件:某进程已经保持了一个资源,但又请求另一个资源,若该资源被其他进程占有,此时请求阻塞,且对已经占有的资源不释放;
3、不可抢占条件:进程获得的资源在未使用完时不可被抢占,只能在进程使用完时自己释放;
4、循环等待条件:发生死锁时,必然存在这样一个循环,一个进程p1等待p2占有的资源进程p2等待p3占有的资源...进程pn等待p1占有的资源。
死锁的处理方法
1、预防死锁:事先预防策略,容易实现,通过实现设置限制,破坏产生死锁的四个条件之一。(如对资源采用按序分配策略)
2、避免死锁:事先预防策略,在资源的动态分配过程中,用某些方法防止系统禁图不安全状态。常见的方法有银行家算法
3、检测死锁:通过检测机构等及时检测出死锁,采取适当措施,把进程从死锁中解脱。
4、解除死锁:检测出死锁后,采取措施解决。比如剥夺资源,撤销进程。
这四种方法对死锁的防范逐渐减弱,但对应的是资源利用率的提高。

参考自:《计算机操作系统》第四版
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 操作系统概述     【掌握】   1. 操作系统的概念   操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。   记忆要点:操作系统是什么——是系统软件;   操作系统管什么——控制和管理计算机系统内各种资源;   操作系统有何用——扩充硬件功能,方便用户使用。  功能   操作系统的五大主要功能:存储管理、进程和处理机管理、文件管理、设备管理、用户接口管理。   【理解】   1.操作系统的特征:并发、共享和异步性。   理解模拟:并发——“大家都前进了”;   共享——“一件东西大家用”;   异步性——“你走我停”,“走走停停”。   2.操作系统的主要类型   操作系统的主要类型有:多道批处理系统、分时系统、实时系统、网络操作系统、个人机操作系统、分布式系统和嵌入式操作系统。   UNIX系统是著名的分时系统。   3.分时概念:主要是指若干并发程序对CPU时间的共享。   【了解】   1.操作系统的形成;   2.分时和实时操作系统的特点,见教材16页;   3.操作系统计算机系统中的地位:是裸机之上的第一层软件,是建立其他所有软件的基础。   4.操作系统结构设计:整体结构、层次结构、虚拟机结构和客户机-服务器结构。   5.操作系统为用户提供的三种用户接口:图形用户接口、命令行接口和程序接口。   系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统,系统调用以C函数的形式出现。 第2章 进程管理   考核学生对进程定义、进程的状态及其转换、进程的组成、竞争条件和临界区、进程的同步与互斥、信号量和P、V操作及其一般应用、死锁的概念和产生死锁必要条件等的内容学习情况。   【掌握】   1.进程的定义:进程是程序在并发环境中的执行过程。   进程与程序的主要区别。进程最基本的属性是动态性和并发性。   2.进程的状态及其转换   进程的3种基本状态是:运行态、就绪态和阻塞态。掌握教材33页的进程状态及其转换图。   3.进程的同步与互斥的概念。可以简单理解为:同步是协作,互斥是竞争。   4.信号量和P、V操作及其一般应用。   运用信号量机制和P、V操作,解决并发进程一般的互斥和同步问题。解决此类问题的一般方式:   (1)根据问题给出的条件,确定进程有几个或几类;   (2)确定进程间的制约关系——是互斥,还是同步;   (3)各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值;   (4)用P、V操作写出相应的代码段;   (5)验证代码的正确性:设以不同的次序运行各进程,是否能保证问题的圆满解决。切忌按固定顺序执行各进程。   【理解】   1.多道程序设计概念及其优点。   2.进程的一般组成,应深入理解进程控制块的作用。每个进程有惟一的进程控制块。   3.Linux进程管理的基本命令:ps、kill、sleep。   4.理解进程临界资源和临界区的概念,进程进入临界区的调度原则。信号量概念,P、V操作执行的动作。   5.死锁的概念;死锁的4个必要条件:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。   【了解】   1.Linux进程结构,见教材41页图。   2.进程间的3种高级通信:共享内存、管道文件和消息传递。 第3章 处理机调度   考核学生对作业状态、作业调度和进程调度的功能、性能评价标准、常用调度算法、Linux常用调度命令、中断处理过程、shell命令执行过程等内容的学习情况。   【掌握】   1.作业调度和进程调度的功能   作业调度的功能见教材73页,进程调度的功能见教材74页。在一般操作系统中,进程调度是必须具备的。   2.常用调度算法   掌握三种基本调度算法(先来先服务法、时间片轮转法、优先级法)的实现思想,并能进行评价指标的计算。   要求:能利用图表形式列出各作业或进程的有关时间值,如到达时间、运行时间、开始时间、完成时间等,利用评价公式计算出各指标的值,如周转时间、带权周转时间、平均周转时间、平均带权周转时间。   【理解】   1.作业的四种状态:提交、后备、执行和完成。   2.作业调度与进程调度的关系,见教材75页。简单比喻:作业调度是演员上场前的准备,进程调度是让演员上场表演。   3.调度性能评价标准   评价调度算法的指标:吞吐量、周转时间、带权周转时间、平均周转时间和平均带权周转时间。   4.Linux系统的进程调度方式、策略和常用调度命令:nohup,at,batch,jobs,fg,bg。   5.中断处理过程:保存现场、分析原因处理中断和中断返回。   6.shell命令的一般执行过程。   【了解】   1.调度的三个级别:高级调度、中级调度和低级调度,其中高级调度又称作业调度,低级调度又称进程调度。   2.调度策略的选择,见教材77页。   3.中断概念   中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。 第4章 存储管理   考核学生对重定位、分区法、分页的概念、虚拟存储概念、请求分页存储管理技术、常用页面置换算法、Linux中的存储管理技术以及抖动等内容的学习情况。   【掌握】
第1章概论 1.l计算机系统概述 1.2操作系统的形成和发展 1.2.l手工操作阶段 1.2.2脱机输入输出技术 1.2.3批处理技术 1.2.4多道程序设计技术 1.2.5操作系统的形成 1.3操作系统的基本类型 1.3.l批处理操作系统 1.3.2分时操作系统 1.3.3实时操作系统 1.3.4其他操作系统 1.4操作系统的特征和功能 1.4.l操作系统的特征 1.4.2操作系统的功能 l.5研究操作系统的几种观点 1.6本章基础要点 1.7练习题及参考答案 第2章进程描述与控制 2.l进程的引入 2.1.l前趋图 2.l.2程序的顺序执行 2.1.3程序的并发执行 2.1.4程序并发执行的条件 2.2进程的定义及描述 2.2.1进程的定义 2.2.2进程的特征 2.2.3进程和程序的关系 2.2.4进程控制块 2.3进程的状态 2.3.l进程的三种基本状态 2.3.2进程的创建状态和退出状态 2.3.3进程的挂起状态 2.4进程的控制 2.4.l进程的创建 2.4.2进程的撤消 2.4.3进程的阻塞与唤醒 2.4.4进程的挂起与激活 2.5线程 2.5.l线程的概念 2.5.2线程与进程的比较 2.6本章基础要点 2.7练习题及参考答案 第3章进程同步与通信 3.1基本概念 3.1.l临界资源与临界区 3.1.2互斥的概念与要求 3.1.3同步的概念与实现机制 3.2互斥的实现方法 3.2.1软件方法 3.2.2硬件方法 3.3信号量 3.3.1信号量及同步原语 3.3.2利用信号量实现进程互斥 3.3.3利用信号量描述前趋关系 3.3.4经典进程同步问题 3.4管程 3.4.1管程的定义 3.4.2用管程实现同步 3.5进程通信 3.5.l进程通信的类型 3.5.2消息传递系统 3.6本章基础要点 3.7练习题及参考答案 第4章调度与死锁 4.l调度的层次 4.1.1作业调度 4.1.2进程调度 4.l.3中级调度 4.2进程调度 4.2.1进程调度的功能 4.2.2进程调度的方式 4.2.3进程调度算法 4.3死锁 4.3.l死锁的概念 4.3.2死锁产生原因必要条件 4.3.3处理死锁的基本方法 4.3.4死锁预防 4.3.5死锁的避免 4.3.6死锁的检测和解除 4.4本章基础要点 4.5练习题及参考答案 第5章作业管理和用户接口 5.l用户与操作系统之间的接日 5.1.1命令接日 5.1.2程序接口 5.1.3图形用户接口 5.2作业调度 5.2.l作业的状态及转换 5.2.2作业调度 5.2.3调度性能的衡量 5.2.4常用的作业调度算法 5.3本章基础要点 5.4练习题及参考答案 第6章存储管理 6.l存储管理概述 6.1.1存储管理的功能 6.1.2存储分配的方式 6.1.3重定位 6.1.4虚拟存储器 6.2单一连续分配式存储管理 6.3分区存储管理 6.3.l固定分区 6.3.2动态分区分配 6.3.3分区分配的动态管理 6.3.4分区的存储保护 6.4覆盖与交换 6.4.l覆盖技术

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值