罗泽兵 发表于 2024-4-15 08:33:49

09.第09节课第三章处理机调度与死锁&

那么,我们来看一下预防死锁,预防死锁的方法呢?是通过破坏产生死锁的四个必要条件中的一个或几个,以避免呢?发生死锁,但由于互斥条件呢?是非共享设备所必须的,不仅不能改变,还必须加以保证。因此呢,主要是破坏产生死锁的后三个条件,引入了我们的。请求和保持不可抢占以及要循环等待,那么这几个条件,

那么我们首先来看一下破坏请求和保持。为了破坏请求和保持条件呢,系统呢,必须要保证做到当一个进程在发生请求资源的时候呢,它不能持有不可抢占资源。该保证呢,可以通过。两个不同的协议实现第一种协议呢,该协议规定,所有进程在运行之前必须一次性的申请其在整个运营中所需要的全部资源。那么,此时呢,若系统有足够的资源呢,分配给该进程,便可把所需要的所有资源分配给它,

这样呢,该进程在整个运行期间便会不会提出资源请求?从而破坏了请求条件,系统在分配资源时,只要有一种资源不满足进程的需求,即使其他所需要的其他资源呢,都可以分配给该进程。那么都都空闲了,也不分配给该进程,而让该进程进行等待。由于该进程呢,在等待时间内呢,未占有任何资源,于是呢,破坏了保持条件。

从而预可以预防事故的发生。那么,这样一种协议呢?它的优,它的它的优点是简单,那么易于执行,并且安全。但是呢,也有一些缺点,比如说资源被严重浪费,严重的恶化了资源的利用率。资源在进程,在开始运行时呢,就一次性的占用了整个运行过程中所需要的全部资源,其中有些资源呢,

在有可能运行初期或者运行快结束时呢,才占用。那么甚至呢,不根本不使用那么这个时候呢,那么就资源呢,就会严重浪费,比如说。我们。我们这个时候呢,比如说我们要。去处理一件,那么处理一个文件,那么处理一个文件呢?我们需要那么比如说多个部门的人呢?进行签字。

啊,比如说先找这样一个公司的呃。这样一个法律部门的人签字,然后再找公司的这样一个策划部的人来进行签字,那么最后呢,再找财务部的人签字,那么按一次的这样一个进行连续的这样一个运行,这样一个部部分。那么如果呢?我们最开始呢?就把所有的部门的人呢都都找,都这样一个这样一个都准备好了,这样一个情况,那么我们最后才运行的这样一个时候呢,那么就让他一直等待下去,

要本来呢,要在最后。运行的时候呢,才需要这个部分呢,就让它一直等待这个情况,那么就造成了资源的这样一个浪费,那么第二个缺点呢,是使进程呢,经经常会发生饥饿现象。因为紧张进程在获得了其所需要的全部资源后呢,才能开始运行,那么这样呢,就会由于个别资源的长期被其他技能占用而使得该资源的进程呢,迟迟不能开始运行。而个别资源呢,

有可能在进程运行到最后才需要那么这样呢,就造成了这样一个饥饿现象。那么,第二种协议是什么呢?第二种协议是对第一种协议的改进,它允许一个进程呢?只获得运行初期的所需要的资源呢?便开始运行。在进程运行过程中,在逐步释放。已分配给自己的,已用完的全部资源,然后再请求所需要的新的资源,那么比如说。我们有一个进程,

它要完成的任务呢,是先将数据从磁带上复制到磁盘文件上,然后对磁盘文件进行排序。最后再把结果打印出来,那么采用第一种协议的时候呢,进程必须在开始时呢,就请求磁带机。磁盘文件和打印机,然而打印机呢,在最后才会用到,影响其利用率,还会影响到其他进程的运行。此外呢,比如说磁带和磁盘文件虽然空闲,但一打印机已分配给了其他进程,

而进程呢,还需要等待在采用第二种协议的时候呢,进程呢,在开始时只需要请求磁带及磁盘文件便可以开始运行。等到全部磁带上的数据呢,已经复制到磁盘文件中,并开始排好序之后呢,便可将磁带机和磁盘文件呢释放掉去,请求磁盘文件和打印机,这样不仅能使进程更快的完成任务。提高设备的利用率,还可以减少系统的进程。发生饥饿的几率。那么第二种。预防思索的方法呢,

是破坏不可抢占的条件。为了能破坏不可抢占条件的协议中规定,当一个已经保持了某些不可被抢占资源的进程,提出了新的资源请求而不能得到满足时。它必须释放已保持的所有资源,那么在以后呢,需要时再重新申请,那么这意味着进城了,已占有的资源呢,会暂时的释放,或者说被抢占了。从而破坏了不可抢占的条件,那么这个方法实现起来比较复杂,而且需要付出很大的代价,因为一个不可抢占的资源,

比如说打印机CD机刻录机了。在一段时间后呢,被占用可能会造成进程的前一段工作的这样一个没有没有产生效果的部分。那么,即使呢,是采取了某些防范措施,也可能使进程前后两次的运行的结果呢,不连续这种策略呢,还可能因为反复的申请和释放资源呢而。而这使进程的执行呢?无限的被推迟,不仅延长了进程的周转时间,也增加了系统开销见证,降低了系统吞吐量。那么第三个呢,

是破坏循环等待的条件,那么一个人保存循环等待条件不成立的是。对系统的所有资源呢,进行线性排序,并赋予了不同的序号,那么这种这样呢,那么我们可以呢?来进行。破坏循环等待那么这样一个运用的,这样一个实验的部分。那么就是我们破坏循环,等待条件的这样一种方式,那么就是说对系统的所有资源类型呢,进行线性排序,那么并赋予了不同的这样一个序号。

那么就是说我们对系统资源的进行线性排序,对赋予不同序号的这种方法呢?来破坏循环等待的这样一个条件。那么,这种预防死守的策略呢?那么,与前两种相比呢?其资源利用率和系统吞吐量呢?都有明显的改善,但是呢,也存在一些问题,就是说为系统中各类资源的规定的序号呢?必须相对稳定。那么,这就限制了新类型设备的增加。

那么,尽管另外呢,尽管在为资源的类型分配序号的时候呢,已经考虑到了大多数作业的实际,作业中使用的资资源的。顺序,但是呢,也会因为发生这种情况,作业使用各种资源的顺序呢,与系统规定的顺序不同,从而造成了对资源的浪费,那么最后呢,为了方便用户。系统对资源在编程手中的加的限制条件应该尽量的少,然而这种按规定次序申请资源的方法呢?

会增加了吗?用户的简洁的这样一个程度,那么这样一个影响了系统的这样一个运行效果。运行效率的这样一个部分。那么接下来呢?我们看一下避免思索,避免思索呢?同样是属于预先释放的策略,但并不是呢,事先采取某种限制措施。破坏产生死锁的必要条件,而是在资源动态分配的过程中呢,防止系统进入不安全状态,以避免发生死锁。这种方法所施加的限制条件比较弱,

可能获得较好的系统性能,因此呢,目前常采用此种方法呢,来避免思索。在此所避免的方法中呢,把系统状态分为不安全状态和安全状态。当系统处于安全状态的时候呢,可避免发生死锁。另把其另外呢,否则呢,当系统处于不安全状态的时候呢,就有可能进入到搜索状态。安全状态是什么呢?在该方法中呢?允许系统动态的申请资源在系统在申请资源分配后呢?

应先计算此次资源分配的安全性。若此次分配了,不会导致系统进入不安全状态,才将资源呢分配给该进程,否则呢,另进进程等待。所谓的安全状态,是指系统的按某种进程推进顺序为每个进程呢,分配其所需资源,直至满足每个进程对资源的最大需求,使得每个进程呢都能顺利的完成。此时呢,称这样一个进程推进顺序呢,为安全序列,如果系统呢,

无法找到这样一个安全序列,则称系统处于不安全状态。那么,虽然并非所有不安全状态呢,都必然会转为死锁状态,但将系统处于不安全状态呢,就有可能进入失锁状态。否则呢,只要系统处于安全状态,系统呢,便不会进入死锁状态,因此呢,避免死锁的实质呢,在于系统进行资源分配的时候呢,因此系统不进入不安全状态。

那么我们看一下安全状态,这样一个例子,我们假定系统中呢,有三个进程p1p2和p3共有12台磁态机进程p1呢,总共要求十台磁态机。p1和p3总共要分别要求四台和九台假设在p0时刻p1,p2和p3已分别获得五台,两台和两台磁带机。此时呢,尚有三台空闲未分配啊,比如说看我们这个在看在我们这个表当中呢,我们写出了这样一个部分,那么p1呢,最大需求十台磁带机。p2呢,

需有四台p3呢,需要九台在p0时刻呢,已经分配了五台给p1分配了两台给p2分配了两台给p1。TT 3那么剩下的可用的呢?那么就由我们的这样一个三台。那么,经过分析了可以发现,在t0时刻是安全的,因为呢?嗯哼嗯。因为呢,此时存在一个安全序列P2P3p1P2P1p3。也就是说,此时呢,系统按此进此进此进程序列的分配资源,

就是使每个进程呢都能顺利完成,比如将剩余的两台磁带机呢。剩余的三台持台机分配两台给p2,使之继续运行,那么p2呢?完成变革分配,释放出四台持台机。于是呢,可利用资源呢,可分增至五台,于是呢,将这些资源呢,分配给PE使之运行PE完成后呢,再释放出十台磁带机。p3呢,

便能获得足够的资源,从而使p1P2P3每个进程呢都能顺利完成。那么,如果不按照安全系列分配资源,则系统呢?则可。可能会有安全序列的进入,不安全序列。那比如说在t0时刻。p2又p0时刻之后呢?p2又生成一台磁带机,若此时呢?系统把三台中的一台分配给p3,那么系统呢?便进入了不安全状态。

因为此时呢,再也无法找到一个安全序列。那么,使得了我们的进程呢?能够顺利的这样一个执行。那么,在建立了系统安全状态的这样一个,这样一个,这个方法之后呢?那么便可以知道,避免思索的基本思想呢?是确保系统始终处于安全状态。一个系统呢。开始是处于安全状态,当有进程请求,

一个可用资源时,系统需要对该进程的请求进行计算,若将资源呢分配给进程后呢?进系统仍处于安全状态。才将该。资源呢,分配给进程。那么,这是我们的。安全状态的这样一个部分,那么接下来我们看一下利用银行家算法,避免思索,那么比较有代表性的避免思索的算法呢?是理解特斯拉银行家算法。那么起这样的名字呢?

是原由该算法呢?本来为银行系统确定的,已确保了银行在发放现金贷款时呢?不会发生不能满足客户所需要的情况。那么,在操作系统中啊,可以用它来避免死锁,那么银行加算法,加数据结构呢?我们看一下,为了实现银行加算法。在系统设置中呢,我系统中啊,必须设置四个数据结构,用来描述系统中的可用资源,

所有进程对资源的最大需求,系统中的资源分配。以及呢,进所有进程还需要多少资源的情况,比如说我们的这样一个可用资源available available呢,是含有m个元素的数组。其中的每一个元素呢,代表一类可用资源的资源数目,其初始值呢,是系统中所配置的,该类的全部可用资源的数目。其数值呢,是该类资源的分配和回收。其数值呢,随该类资源的分配和回收呢,

进行改变。如果我们的available=k,那么表示了。现有系统中呢,这样一类资源呢,有k个接下来是最大需求矩阵max。最大需求矩阵max呢,是一个n省m的矩阵,它定义了系统中n个进程中的每一个进程,对m类资源的最大需求。如果maxi g=k表示了进程,I需要基类资源的。最大数目呢为k,另外还有分配矩阵allocation分配矩阵呢,是一个max n也是一个n型m的矩阵,

它定义了系统中每一类资源,当前已分配给。每一进程的资源数,如果allocation aij=k表示进程I当前已分配了基类资源的数目为k。那么,需求矩阵力的呢?也是一个n×m的矩阵,用于表示每一个进程呢?上去的各类资源数,如果力的ig=k。则表示,进程I还需要基地资源k个了方能完成任务。那么,我们来看一下银行加算法,我们设request I。

是进程pi的请求向量,如果request ig。等于k表示了进程pi需要k个rg类的资源,当pi发出请求资源后呢系统呢,按照这样一个步骤进行检查。如果request ig小于等于力的ig,那么便执行了我们的request ig是否小于available?那么,如果request ig呢?小于available就是说我们的请求资源呢?小于等于它需要的资源。并且呢,请求的资源呢,小于等于可用资源,那么系统呢,

便试探着把资源分配给pi并修改,这样的数据结构available g呢,等于available g-request ig。allocation ig呢等于allocation ig+request ig力的ig等于力的ig-request g。那么这样呢,就是把我们的可用资源g类的可用资源呢,减去我们I类I进程pi所。要所要求的这样所申请的这样一个资源数目是资源数,然后呢,把这样一个分配这样一个矩阵呢,把第I类。did I的进进行I的?p进程pi的这样一个已分配资源,经历了把它加上我们的它的这样一个申请的这样一个资源数。然后把这样一个需求矩阵呢ig呢,

减去它申请的这样一个资源数。那么接下来呢,系系统执行安全性算法检查,此次资源分配后呢?系统是否处于安全状态?若安全才证实了将资源呢分给pi已完成,此次分配,否则呢,本次的试探分配作废,恢复原来的资源分配状态,让进程di进行等待。那么,如果我们的请求呢?是大于不是小于小于,我们的需求数了,

那么不成立,那么认为出错,那么因为它所需要的需。资源数量已超过它宣布的最大值,那么如果它请求的资源呢?小于可用资源。这样一个不成立的话,那么就表示了无足够资源那么pi需要等待,而系统呢?我们来看一下系统呢?最后呢?执行安全性算法检查,此次资源分配后呢?系统是否处于安全状态?若安全,

则正式将资源分配给pi已完成。此次分配,否则呢,让本次分本次的市场分配作废,恢复原来的资源分配状态,让进程pi进行等待。那么,我们来看一下这样一个安全性算法系统所执行的安全性算法呢?它可以这样来进行一个一个叙述的部分,那么设置两个向量工作,向量work,它表示系统呢?可提供给进程继续运行所需的。各类资源的数目,它含有m个元素,

在执行安全算法开始时work了。把它设置为available。finish呢,它表示系统是否具有足够的资源分配给该进程,使得运行完成开始时呢先将。finish I=FALSE,当有足够资源分配给进程时呢?在你finish I的等于true那么?从进程集合中找到一个能满足下面条件的进程。就finish了,I=FALSE力的,ig=work g。小于等于work g,那么若找到了,那么执行下面这个步骤当pi呢?

获得资源后呢?进行执行,直到完成并释放出分配给它的资源。那么这个时候呢,应该是用work g呢,等于work g+allocation ig finish I=true,那么继续呢,回到第二步进行执行。那么继续呢,找到一个满足下列条件的进程呢,然后呢,执行步骤如果找到了执行步骤三,如果所有最后的进程呢,非利息等于除了都满足,那么表示了系统处于安全状态,

否则了系统处于不安全状态。啊,比如说我们看一个例子,假设系统中呢,有五个进程p0p1P2P3p4和三类资源ABC,各类资源的数量呢,分别为15期在t0时刻的分配的数量呢?那么,分别是这样一个分配的数量,比如说我们AA类资源呢?分配的ABC的p0p分配的a0 ABC资源呢?那么是零一零p一分配了,下面这样一个二零零。那p2分配了这样一个。三零二p三分配了二一一p四分配了零零二,

那么它的这是它的序最大。它的这样一个最大需求,这样一个最大需求的这样一个部分,现在呢?还现在呢?这个呢?这样一个部分呢?是它的这样一个还需要的这样一个。数量的这样一个矩阵部分,它的这样一个需求矩阵,那么可用资源的数目呢?ABC呢?分别是三三二那么t0时刻的安全性,我们看一下利用安全性算法对t0时刻的资源分配情况呢进行分析。那么,

我们可以知道了,在近时刻存在一个安全系列p1p,3p,4p,2p零,那么系统是安全的,那么我们看一下。那么,我们这个序列呢?是p1p3p4P2P0,那么我们首先呢?将我们的这样一个可用资源呢?三三二分配给我们的PE,那么就满足了PE的运行,那么满足了PE去运行之后呢?

p1呢,在释放掉自己的资源,那么释放掉自己的资源之后呢,我们的这样一个数目呢,那么就变成了五三二。变成了五三二之后呢,我们再看p3p3呢,它还需要零一一那么五三二能够满足那么分配给它之后呢?我们p3呢,在释放了自己的资源。那么p3呢?释放掉自己的资源之后呢?那么这样的可用资源呢?就变成了七四三七四三的这样一个部分呢?那么再看p4那么p4呢?

能够满足?那么接下来呢,再进行运行,那么接下来呢,分配之后呢,那么再进行运行的这样一个部分,那么再看下一个进行一个。运用的这样一个进程的这样一个实践的这样一个部分,那么可以进行继续的进行进行的这样一个执行部分,那么所以呢,系统是安全的。那么,接下来最后呢?我们看一下死锁的检测与解除,如果在系统当中呢?

既不采取死锁防范措施,也未。配有死锁,避免算法,那么系统呢?很可能发生死锁在这种情况下呢?系统应该提供两个算法,一个是死锁解检测算法,该方法呢?用于检测死锁状态,以确定了系统中是否发生了死锁?第二个呢,是几十所解除算法,当认定系统中已经发生了死锁,利用该算法呢,

可将系统中死锁状态中解脱出来。那么思索的检测是什么呢?为了能对系统中是否发生了思索进行检测,在系统中呢?必须保持有相关资源的请求和分配信息,并且提供一种算法,它利用这些信息来检测系统呢?是否已经进入思索状态?比如说我们用资源分配图,那么系统思索呢,可以用资源分配图来描述,那么该图呢,是一组节点a和一组编译所组成的一个对偶。g=ne,它具有这样一个形式的定义和限制,

把n分为两个互斥的子集,就是一组结。进程节点p和业主资源节点r。n呢,属于n=p。交上啊。BN=p并上。那比如说在我们这个图当中呢,我们的p呢等于p1p2那么r呢等于r1r2。那么n呢,等于r1r2并上我们的p1p2,那么凡是属于一中的一个边一个边一属于一。都连接着p中的一个结点和r中的一个结点,一是pi rg是。一=pi rg是资源请求编由进程pi指向资源rg,

它表示进程pi请求一个单位的rg资源。e=rg pi是资源分配边表示,由进程rg指向pi,它表示把一个单位的资源呢分配给进程rg分配给进程pi。比如说我们这个图中呢,就有两个请求,边和两个分配边那么一呢,等于p1r2。r2P2P2r1和r1p1。我们可以利用了资源分配图,以简化的方加以简化的方法来检测。当时说处于s所处于死锁状态时,处于s状态时,是否为死锁状态?那么我们看一下简化的方法,

在资源分配图当中找出一个既不阻塞又非独立的进程节点。pi在顺利的情况下呢pi可以获得所需资源的而继续进行运行。直到运行完毕,再释放其所占有的全部资源,这相当于消去pi的请求,边和分配边使之成为孤立的节点。比如说在这样一个图当中,将p1的。将p的两个分配边和一个请求边那么消去。在你是在这个图当中呢,将p1的两个分配边和一个请求边消去,那么形成我们这样一个图当中这样一个情况,那么p1释放资源后呢,可以使p2获得资源继续进行运行,直到p2。

完之后呢,又释放出他所占用的全部资源,形成这样一个图当中的这样一个情况,那么在进行一系列的简化后呢,如果能消去图中的所有边。使所有的进程节点呢,都成为孤立的节点职称,该图呢,是可完全简化的,否则呢,不能通过任何过程。将该图呢?完全简化。折成该图了,是不可完全简化的,

那么就是这样一个。那除了这样一个用的这样一个。实实现了这样一个部分。那么我们看一下实所检测中的数据结构,实所检测中的数据结构呢?类似于银行家算法中的数据结构啊,比如说有我们的可利用资源与可利用向量available,它表示了m类资源中的每一类资源的可用数目。以及呢,把不占用资源的进程allocation=0记入l表中,那么借li呢交上并上ll从进程交中找到一个request I小于work的小于等于work的进程。那么进行呢,将其资源分分配图简化,释放出资源增加工作向量work,点work+allocation,

将它记入l表中的这样一个操,这样一个部分。若不能把所有的进程呢都记入l表中,表明系统状态s的资源分配图呢,是不可完全简化的,因此呢,该系统呢,将发生死锁。那么最后呢?我们来看一下思索的解除,思索的解除了,我们有终止进程的方法,终止所有的思索进程,这是最简单的一种方法。比如说终止所有的死锁进程,

死锁自然就进行解除,但是付出的代价可能很大,因为其中呢,有些进程已经可能运行了很长时间,已经接接近结束。一旦被终止了,那么可能呢?就没有这样一个使用运行的,这样一个这样一个。这样一个下午,这样一个使用的,这样一个情况的,这样一个部分,那么还可能重新再运行,有可能呢,

还有其他的代价。还有一种方法呢,是逐个终止进程,那么这是按照某种顺序逐个的终止进程,直到有足够的资源以打破循环等待,把系统呢从死锁状态中解脱出来。但是该方法的付出的代价也可能很大,因为每终止一个进程呢,都需要用思索检测算法,确定思索是否已经被解除,若还未解除呢,还需要终止另一个进程。此外,在逐个种植进程的策略当中,还涉及到需要采用什么样的策略选择,

一个需要终止的进程。选择进程,选择策略主要依据了是为词组解除所付出的代价最小,那么但是怎么样才算代价最小呢?比比较难呢?找到一个比较合适的,适当的这样一个使用的这样一个方式。好同学们呢?今天我们给大家介绍了我们这样一个处理器调度的,这样一个情况,那么我们给大家总结一下今天的内容,那么今天呢?我们讲过了处理器调度呢?有我们三种调度的层次,一种呢是高级调度,

低级调度。还有一种呢,是是我们的。终极调度。高级调度呢,使用的频率最低,那么低级调度就进程调度,使用的频率最频率最大,那么使用的这样一个范围使用,使用的频率最大。那么,中级调度呢?那么,使么频率呢?处于这两者之间,

那么它也称之为中级调度呢?也称为兑换,那么另外呢?我们还为大家介绍了我们各种作业的调度算法。包括我们的现代线服务,包括我们的短作业优先,以及呢,我们的这样一个。响高响应比优先的这样一个部分,以及呢,我们的进程调度算法也有我们的。也有我们的这样一个高抢想高抢一笔优先,以及呢,先来先服务和我们的短租优先这些算法,那么大家呢,

要了解掌握这些算法的这样一个概念。另外呢,我们还给大家介绍了我们实时实时调度,以及呢,实时调度,那么这样一些部分。并且呢,我们还为大家,并且呢,我们还介绍了这样一个死锁的,这样一个部分,包括了什么叫做死锁。那么也就是说,一个死锁的死锁的概念呢?那么就是我们系系统中的。

业主进程当中的。每一个进程都在等待,其他进程释放自己的资源,而自己的资源呢,进行保持和占有了吗?不释放这样一种情况。也就是说,死锁了就是业主。业主进程当中,每个进程呢,都自己呢,拥有资源,并且呢,还去还还还在。请求。

其他进程释放资源,那么这样呢?称为死锁,那么一旦呢?我们的。我们的系统当中呢,如果产生了死锁就一定有环路,那么也就是说我们一旦产生了死锁了,那么就就会产生环路。那么大家呢,要记住是所产生的四个必要条件,那么就是。那么,大家要记住十所产生的四个必要条件,那么就是我们的这样一个。

请求和保持。以及了。互斥。不可抢占循环等待,那么这四个条件咱们要大家要记住,我们产生死锁的四个必要条件,也就是说互斥条件。请求和保持条件不可抢占,条件和循环等待条件,那么我们通常呢?采取的预防死锁的方法呢?是破坏掉死所产生的这四个必要条件中之后的三个条件,这样一个部分。那么,我们可以采取预防死锁的方法呢,

来进行这样一个死锁的,这样一个。且处理的这样一个这样一个使用的这样一个方法,那么处理思索的方法呢?那么分为四种预防思索,避免思索。检测死所和解除死所,其中呢,预防死所呢,是通过破坏死所四个必要条件中的一个或几个,以避免呢死所的发生。那么,这是一种提前预防的方法,而避免死锁呢?虽然也是提前预防的方法呢,

但是呢,它并不是通过破坏死锁产生的必要条件。来这样一个预来来这样一个处理,来这来这样一个处理词,所这样一个部分来避避免死所,那么它是通过了。对进程的这样一个推进顺序呢?那么进行一个。运行的这样一个部分,那么就是呢?选择一定的推进顺序,使得在我们进程的运行过程当中呢,不会产生死锁,也就是说我们进程的推进顺序是合法的,那么便不会产生死锁。

比如说我们进程呢,它的推进顺序呢,那么使我们的这样一个系统呢,处于一个安全状态,那么便会便会产生思索,那么系系统呢,处于不安全状态呢?不一定产生死锁,但是呢,处于不安全状态了,那么就有可能呢,产生死锁,那么这是死锁的部分。那么另外呢?我们还讲到了这样一个避免死锁,

也讲到了这样一个。检测死所和我们的解解除死所这样一个部分,检测死所呢?那么这是在系统中呢?发生死锁的时候呢,可以通过检测机构及时的检测出死锁的发生,而解除死锁呢,是当检测到系统中已经发生了死锁的时候,就采取相应的措施。将系统的从死锁状态中呢解脱出来,将进程呢从死锁状态中解脱出来,那么通常采用的方法呢,是撤销一些进程,回收他们的资源。并且呢,

将它们分配给已处于阻塞状态的进程,使之能继续进行执行,好吧,这就是我们今天呢所讲的这样一些内容,那么大家下来的时候呢,再看一下这些部分,那么进行的。熟悉和了解,那么今天的课呢?我们就讲到这里好,谢谢大家。


页: [1]
查看完整版本: 09.第09节课第三章处理机调度与死锁&