第3章2死锁
第3章 调度与死锁

• 2.短作业(进程)优先调度算法(Shortest Job/Process First,SJF/SPF) –(1) 算法描述 • 对预计执行时间短的作业(进程)优 先分派处理机。通常后来的短作业不 抢先正在执行的作业。 • 是对FCFS算法的改进,其目标是减少 平均周转时间。
• (2) SJF的特点 –优点: • 比FCFS改善平均周转时间和平均带权周转 时间,缩短作业的等待时间; • 提高系统的吞吐量; – 缺点: • 对长作业非常不利,可能长时间得不到执 行; • 未能依据作业的紧迫程度来划分执行的优 先级; • 难以准确估计作业(进程)的执行时间, 从而影响调度性能。
进程
P1 P2 P3 P4
P1 0 2 P2 4
到达时间
0.0 2.0 4.0 5.0
执行时间
7 4 1 4
• 最短剩余时间优先(抢先式SJF)
P3 5 P2 7 P4 11 P1 16
• 平均等待时间 = (9 + 1 + 0 +2)/4 = 3 • 平均周转时间=(16+5+1+6)/4=7
3.2.2 优先权调度算法(Priority Scheduling)
10.00 10.10 2 1
10.25 0.25
作 业 1 2 3
提交 运行 开始 完成时 周转 带权周转 时间 时间 时间 间 时间 时间 10.00 10.10 2 1 10 12 12.00 13.00 13.25 2 2.9 3 2/2 2.9/1 3/0.25
10.25 0.25 13
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则
第三章 处理机调度与死锁习题及答案 新

第三章处理机调度与死锁一.选择题1.下列算法中,操作系统用于作业调度的算法是。
A.先来先服务算法B.先进先出算法C.最先适应算法D.时间片轮转算法2.在批处理系统中,周转时间是指。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间3.在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。
A.先来先服务B.短作业优先C.响应比高优先D.优先级4.下列算法中,用于进程调度的算法是。
A.最先适应B.最高响应比优先C.均衡资源调度D.优先数调度5.两个进程争夺同一个资源。
A.一定死锁B.不一定死锁C.只要互斥就不会死锁D.以上说法都不对6.下列各项中,不是进程调度时机的是。
A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态7.进程调度算法有多种,不是进程调度算法。
A.先来先服务调度算法B.最短查找时间优先调度算法C.静态优先数调度算法D.时间片轮转调度算法8.作业调度程序从状态的队列中选取适当的作业投入运行。
A.就绪B.提交C.等待D.后备9.在实时操作系统中,经常采用调度算法来分配处理器。
A.先来先服务B.时间片轮转C.最高优先级D.可抢占的优先级10.采用时间片轮转调度算法主要是为了。
A.多个终端都能得到系统的及时响应B.先来先服务C.优先权高的进程及时得到调度D.需要CPU时间最短的进程先做11.下面关于优先权大小的论述中,不正确的论述是。
A.计算型作业的优先权,应低于I/O型作业的优先权B.系统进程的优先权应高于用户进程的优先权C.资源要求多的作业,其优先权应高于资源要求少的作业D.在动态优先权时,随着进程运行时间的增加,其优先权降低12.产生死锁的原因是有关。
A.与多个进程竞争CPUB.与多个进程释放资源C.仅由于并发进程的执行速度不当D.除资源分配策略不当外,也与并发进程执行速度不当13.有关产生死锁的叙述中,正确的是。
计算机操作系统死锁习题

【例】一台计算机有6台磁带机,由n个进程竞争使 用,每个进程可能需要两台磁带机,那么n是多少 时,系统才没有死锁的危险? 【解答】对于三个进程,每个进程能够有两个驱动 器。对于4个进程,驱动器可以按照(2,2,1, 1)的方法进行分配,使前面两个进程先结束。对 于5个进程,可以按照(2,1,1,1,1)的方法 进行分发,使一个进程先结束。对于六个进程, 每个进程都拥有一个磁带驱动器同时需要另外一 个驱动器,产生了死锁。因此,对于n<6的系统 来说是无锁的。
【例】_____是指多个进程因竞争资源而造成 的一种僵局,若无外力作用,这些进程都 将永远不能再向前推进 【答案】死锁
【例】死锁是指系统的全部进程都处于阻塞 状态 【解答】错 死锁是指系统中涉及死锁的进程全部处于阻 塞状态,而不处于死锁状态的进程则不一 定。
【例】操作系统处理死锁,只要采用预防, 解除,检测,避免等方法中的一种就足够 了 【解答】错误 因为操作系统要兼顾资源的使用效率和安全 性两方面,常见的是将预防,解除,检测, 避免等四种处理方法混合使用。例如,只 有检测死锁而无解除死锁的方法,检测出 死锁又有什么用?
【例】系统死锁可利用( )来描述。 A 进程 B 程序 C 系统流程图 D 资源分配图 【答案】D
【例】按序分配资源是为了( ) A 死锁的检测 B 死锁的防止 C 死锁的避免 D 死锁的解除 【答案】B
【例】死锁的预防是根据()而采取措施实 现的 A 配置足够的系统资源 B 使进程的推进顺序合理 C 破坏死锁的四个必要条件之一 D 防止系统进入不安全状态 【解答】C
【例】当由于为进程分配资源而使系统处于 不安全状态时,系统一定会导致死锁 【解答】错。 当由于进程分配资源而使系统处于不安全状 态使,系统不一定会死锁。因为可能有些 进程的资源没有达到最大需求时,就已经 完成或故障终止
操作系统 第3章死锁

北京林业大学信息学院
R
R
P1
P2 (a)
P3
P4
பைடு நூலகம்
P1
P2 (b)
P3
存储器共享的死锁
北京林业大学信息学院
死锁的例子(3)
对临时性资源使用不加限制引起死锁
资源的类型: 永久性资源:可供进程逐次再使用的资源; 临时性资源(消耗性资源):由一进程产生而被另一进 程消耗掉,只能使用短暂的时间。
产生和发送
北京林业大学信息学院
死锁模型
a占有,b请求,c死锁
北京林业大学信息学院
死锁检测
发现环,每种类型一个资源的情况
北京林业大学信息学院
死锁检测
每种类型多个资源的情况(资源公式)
北京林业大学信息学院
死锁检测
标记的方式,起初进程都没有标记 死锁检测算法:
寻找一个没有被标记的进程P,对于他而言 R向量的第i行,小于等于A。 如果找到这样一个进程,那么将C向量的第i 行全部加到A中,标记改进程,并转到步骤 1. 如果没有这样的进程则算法终止
Pa
S资源表示消息或信件 对信件的接收和发送不加限制
请求接收
Sc
Pc Sb
Sa
Pb
cobegin Pa; Pb; Pc; coend
北京林业大学信息学院
1、死锁概念
如果在一个进程集合中的每个进程都在等待 只能由该集合中的其他一个进程才能引发的事 件,则称这一组进程或系统此时发生了死锁。
一组进程中,每个进程都在无限等待被该 组进程中另一个进程所占有的永远不会释放的 资源,这种现象称系统处于死锁状态,简称死 锁。处于死锁状态的进程就称为死锁进程.
第3章-2 死锁

23
安全性算法(p112)
定义数据结构
int Work[m]; bool Finish[n]; m代表资源的数量,n代表进程的数量
安全性算法步骤
(1) Work=Available; Finish[i]=false; (2) 寻找满足下列条件的i: a. Finish[i]=false; b. Need[i]≤Work; 如果不存在,则转(4) (3) Work=Work+Allocation[i]; Finish[i]=true; 转(2) (4) 若对所有i, Finish[i]=true, 则系统处于安全状态,否则处于不安全状态
检测时机
٭ ٭ ٭
当进程等待时检测死锁,其缺点是系统的开销大 定时检测 系统资源利用率下降时检测死锁
31
进程-资源分配图PRAG
构成
二元组G=(V,E) V:结点集,分为P,R两部分 P={p1,p2,…,pn} R={r1,r2,…,rm} E:边的集合,其元素为有序二元组<pi,rj>或<rj,pi>
34
有环有死锁
R1
P1 R2
P2
35
有环有死锁
36
有环无死锁
37
死锁定理
资源分配图简化 ( ٭1)找出所有只有分配边的非孤立点进程结点, 去掉分配边,将其变为孤立结点 ( ٭2)找一个非孤立点进程结点Pi,Pi的请求边均 能立即满足。 ( ٭3)若找到了这样的Pi,则将与Pi相连的边全部 删去(包括分配边),转(2) 若所有进程结点成为孤立结点,称该图是可完全 简化的,否则称该图是不可完全简化的。 系统为死锁状态的充分条件是:当且仅当该状态的 进程-资源分配图是不可完全简化的,该充分条件称 为死锁定理。
《操作系统》第三章 - 死 锁

令n表示系统中进程的数目,m表示资源分类数。
可以把矩阵Allocation和Need中的每一行当做一个 向量,并分别写成Allocationi和Needi。Allocationi表 示当前分给进程pi的资源。
1.资源分配算法 • 令Requesti表示进程pi的申请向量。Requesti[j]= k,表示进 程pi需要申请k个rj类资源。当进程pi申请资源时,就执行下列 动作: ① 若Requesti>Needi,表示出错, ② 如果Requesti>Available,则pi等待。 ③ 假设系统把申请的资源分给进程pi,则应对有关数据结构进 行修改: Available:= Available – Requesti Allocationi:= Allocationi + Requesti Needi:= Needi – Requesti ④ 系统执行安全性算法,查看此时系统状态是否安全。如果是 安全的,就实际分配资源,满足进程pi 的此次申请;否则, 若新状态是不安全的,则pi等待,对所申请资源暂不予分配, 并且把资源分配状态恢复成③之前的情况。
第3章 死
内容提要: 3.1 3.2 3.3 3.4 3.5 3.6
锁
资 源 死锁概念 死锁的预防 死锁的避免 死锁的检测和恢复 处理死锁的综合方式
3.1 资
源
3.1.1 资源使用模式
1.申请 2.使用 3.释放
3.1.2 可剥夺资源与不可剥夺资源
1.可剥夺资源 • 另外进程可以从拥有它的进程那里把它剥 夺过去为己所用,并且不会产生任何不良 影响。例如,内存就是可剥夺资源。 2.不可剥夺资源 • 不能从当前占有它的进程那里强行抢占的 资源,必须由拥有者自动释放,否则会引 起相关计算的失效。
第三章处理机调度与死锁(2)

第三章处理机调度与死锁(2)考点一调度的基本概念和基本准则一、单选题1.假设就绪队列中有10个进程,系统将时间片设为200ms,cpu进行进程切换要花费10ms。
则系统开销所占的比率约为()。
a.1%b.5%c.10%d.20%2.以下过程描述不正确()。
a.进程申请cpu得不到满足时,其状态变为就绪状态b.在单cup系统中,任一时刻有一个进程处于运行状态c.优先级是进行进程调度的重要证据,一旦确定不能改变d.进程获得处理机而运行的是通过调度实现的二、综合应用题1.分析三种调度形式的差异:短期调度、中期调度和长期调度。
2.流程安排的原因是什么?3.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?4.选择调度方式和调度算法时,应遵循的准则是什么?5.下列问题应由哪一些调度程序负责?(1)时间片中断发生后,决定将处理器分配给哪个就绪进程?(2)在短期重载情况下,应暂停哪个流程?(3)一个作业运行结束后,从后备作业队列中选具备能够装入内存的作业。
6.CPU调度算法决定进程执行的顺序。
如果需要调度n个进程,有多少种可能的调度算法序列?7.有些系统如ms-dos没有提供并发处理手段。
引入并发处理会导致操作系统设计的复杂性。
试分析引入并发处理后导致的操作系统设计的三个主要的复杂性。
8.解释抢占式调度和非抢占式调度的区别。
为什么计算中心不适合采用非抢占式调度?考点二典型调度算法一、单选题1.以下哪一种说法对剥夺式系统来讲结论正确()。
a、如果系统使用轮换方法来调度流程,则系统使用剥夺调度。
b.若现行进程要等待某一事件时引起调度,则该系统是剥夺式调度。
c.实时系统通常采用剥夺式调度。
d、在剥夺系统中,与非剥夺系统相比,该过程的周转时间是可预测的。
2.同时考虑作业等待时间和执行时间的调度算法为()。
a、更高优先级B.结束作业优先级C.优先级调度D.先到先得3.在关于作业优先级大小的讨论中,正确的讨论是()。
第3章处理机调度与死锁-题库及参考答案

第3章处理机调度与死锁-选择题参考答案一、选择题1.时间片轮转调度算法是为了()A.多个用户能及时干预系统B.使系统变得高效C.优先级较高的进程得到及时响应D.需要CPU时间最少的进程最先做2.在单处理器多进程系统中,进程什么时候占用处理器及决定占用时间的长短是由()决定的A.进程相应的代码长度B.进程总共需要运行的时间C.进程特点和进程调度策略D.进程完成什么功能3.()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先算法D.优先权调度算法4.下面有关选择进程调度算法的准则中,不正确的是()A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道式运行,则平均周转时间为()A.1hB.5hC.2.5hD.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()BECDA.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3且T1<T2<T3。
系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()A.T1+T2+T3B.(3T1+2T2+T3)/3C.(T1+T2+T3)/3D.(T1+2T2+3T3)/39.设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J210. 【2013统考真题】某系统正在执行三个进程P1、P2和P3,各进程的计算(CPU时间和I/O 时间比例如下表所示进程计算时间I/O时间P1 90% 10%P2 50% 50%P3 15% 85%提高系统资源利用率,合理的进程优先级设置应为()A.P1>P2>P3B. P3>P2>P1C. P2>P1=P3D. P1>P2=P311.采用时间片轮转调度算法分配CPU时,当处于运行态的进程完一个时间片后,它的状态是()状态A.阻塞B.运行C.就绪D.消亡12.一个作业8:00到达系统,估计运行时间为1h。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指进程已获得的资源,在未使用完之前,不能被其 它进程强行抢占,只能在使用完时由自己释放。 指发生死锁时,资源分配图(resource allocation graph)中存在有向封闭环路。如下图所示。
循路等待条件(Circular wait)
请求边 资源结点
P1 S3 S1
分配边 进程结点
P3 S2
Need A ቤተ መጻሕፍቲ ባይዱ C
2 产生死锁的原因(P57)
(1)竞争临界资源(即系统资源不足)
当系统中供多个进程共享的临界资源(如打印机、公用 队列等)的数目不能满足诸进程的需要时,会引起诸进程对 资源的竞争而产生死锁。这个原因在多道程序系统中是无法
解除的。
(2)进程推进顺序不当
进程在运行过程中,请求和释放资源的顺序不当,也同 样会导致死锁的产生。这个原因在多道程序系统中是可以解 除的。
安全状态的例子:
例2.8 假定系统中三个进程P1、P2和P3共享12台磁带机。P1总共要求10 台,P2要4台,P3要9台。设在T0时刻,进程P1、P2和P3已经获得5台、 2台和2台,还有3台空闲没有分配(如下图所示)。问T0时刻安全吗?
进程 P1 P2 P3
最大需求 10 4 9
已分配 5 2 2
个进程分配其所需的资源,直至最大需求,使每个进程均可顺利完成。则
称此时系统的状态为安全状态,称这样的一个进程序列<P1,P2,…,Pn>为 安全序列。
2)不安全状态
若在某时刻,系统无法找到一个安全序列,则称系统处于不安全状态。
安全序列的实质是:序列中的每一个进程Pi(i=1,2,…,n)到以后运行完 成尚需要的资源量不超过系统当前剩余的资源量与所有在序列中排在它前 面的进程当前所占有的资源量之和。
磁带机可能坏掉)。另外,不少进程间有同步要求。
总之,死锁预防法过于严格,而死锁避免法更不实用。
(4)银行家算法之例
例2.9 假定系统中有五个进程{P1、P2、P3、P4、P5}和 三类资源{A,B,C},资源的数量分别为10、5、7,在T0 时刻的资源分配情况如下图所示:
资源 情况
进程
Max Allocation A B C A B C
优点:安全且资源利用率比静态资源分配法有所提高,因
为它实际是一种半动态的资源分配法。
缺点:实现较困难,不实用。因为很难给出合适的资源编
号,不便于系统增添新设备,不便于用户编程,且仍有一 定的资源浪费现象。
② 死锁的避免
死锁的避免是这样一种对付死锁的办法:系统在运行 过程中采取动态的资源分配策略,保证系统不进入可
的。其模型基于一个小城镇的银行家的放贷行为。该银行家准备向N
个客户贷款,他拥有的资金足以满足任一客户的最大资金需求,但不 能同时满足所有客户的最大需求。他要求每个客贷款前必须说明自己
所要的最大资金量,并且每次提出部分或全部(但不能同时提出全部)
资金量申请。他只给有信誉和能力并承诺到期还本付息的客户贷款。
锁办法主要是通过破坏“占有并请求条件”和“循环等
待条件”来实现的。
4 处理死锁的基本方法
① 预防死锁 ② 避免死锁(银行家算法) ③ 检测与解除死锁 ④ 置之不理(鸵鸟算法)
① 预防死锁
预防死锁:通过在资源分配中设置某些 限定条件,破坏产生死锁的四个必要条 件之一来实现。 但“互斥条件”和“不可剥夺条件”往 往由资源的性质决定,很难破坏。所以, 具体的预防死锁的方法主要有两种,分 别是通过破坏“占有并保持”条件以及 “循环等待”条件实现的。
静态资源分配法的优缺点:
优点:简单、安全、易实现。(Simple is beautiful) (DBMS中进程更新记录前用的两阶段上锁法似此) 缺点: (1)资源被严重浪费(因为一个进程一次获得其所需
的全部资源并且独占,其中有可能有些资源很少使用, 严重恶化了资源利用率)。
(2)进程延迟运行。(当且仅当进程获得其所需的全
Availablei=Availablei-Requesti;
Allocationi=Allocationi+Requesti;
Needi = Needi- Requesti; step4. 系统执行安全性检测子算法,检查如果实施此次资源 分配后,系统是否会处于安全状态。若安全,则完成此次 试分配,成功返回;否则,将撤消此次试分配,恢复step3 中改过的数据,让进程Pi等待。
可用 3
解:经分析可知,T0时刻系统是安全的,因为这时存在一个 安全序列<P2,P1,P3>。 注意:若把题中的12改为11,则T0时刻系统是不安全的, 因为这时系统中虽有2台可用设备,但不存在安全序列。当 然,若不按照安全序列分配资源,安全状态可能变为不安全 状态,如本题中若下一时刻P3获得1台磁带机的情况。
解:1.
进程
资源 情况
P0 P1 P2 P3 P4
进程 资源 情况
7 3 9 2 4
Max Allocation A B C A B C
5 2 0 2 3
3 2 2 2 3
0 2 3 2 0
1 0 0 1 0
0 0 2 1 2
7 1 6 0 4
Need A B C
4 2 0 1 3
3 2 0 1 1
思考题:(北大95研)
一个OS有20个进程,竞争使用65个同类资源,申请方式 是逐个进行的,一旦某个进程获得它所需要的全部资源, 则立即归还所有资源。每个进程最多使用三个资源。若仅 考虑这类资源,该系统有无可能产生死锁,为什么?
答:不可能。因为死锁产生的原因有两点:系统资源不足 或进程推进顺序不当,在本题中,进程所需的最大资源数 为60,而系统共有该类资源65个,其资源数已足够系统 内各进程使用。
(表示系统将处于安全状态);否则,返回逻辑假值(表示不安全)。
(3)银行家算法性能评价
从理论上讲,银行家算法能有效地避免死锁,而且还不需
要死锁预防法中加上的种种限制,如重新运行进程或有序
申请资源。但实际上,它缺乏实用价值。
因为银行家算法的执行有个前提条件,即要求进程预先提 出自己的最大资源请求,并且假设系统拥有的资源总量和 支持的进程个数是固定的,而且进程之间是“无关”的。 但很少有进程在运行前就知道其所需资源的最大量,而且 进程数也不是固定的,而是不断变化(如新用户登录或退 出),况且原本可用的资源也可能突然间变成不可用(如
Finish true true true true true
A B C 2 0 0 2 1 1 0 0 2 0 1 0 3 0 2
P1 P3 P4 P0 P2
由安检子算法知T0时刻存在安全序列:{P1, P3, P4, P0, P2},故系统是安全的。
2. P 发出资源请求request (1,0,2),系统按银行家算法进行检查: 1 1
Need A B C
Available A B C
P0 P1 P2 P3 P4
7 3 9 2 4
5 2 0 2 3
3 2 2 2 3
0 2 3 2 0
1 0 0 1 0
0 0 2 1 2
7 1 6 0 4
4 2 0 1 3
3 2 0 1 1
3 3 2
1.T0时刻是否安全? 2.Request1(1,0,2)能否响应? 3.Request4(3,3,0)能否响应? 4.Request0(0,2,0)能否响应?
①request1(1,0,2)≤ need1(1,2,2); ②request1(1,0,2)≤ available(3,3,2); ③系统先假定可为P1分配资源,并修改available、allocation1和 need1向量,结果资源试分配情况如下表所示:
资源 情况 进程
Max Allocation A B C A B C
3 产生死锁的必要条件
——Coffman, 1971(P57)
互斥条件(mutual exclusion)
指进程排他性地使用所获资源,即一个资源一次只 能被一个进程使用。 指进程保留已经得到的资源,还要求其它的资源。
请求和保持条件(Hold and wait)
不可剥夺条件(No preemption)
记录系统中各类资源的当前可用数目。
2)最大需求矩阵Max[n×m]
记录每个进程对各类资源的最大需求量。
3)分配矩阵Allocation[n×m]
记录系统给每个进程分配的各类资源数目。
4)需求矩阵Need[n×m]
记录每个进程尚需要的各类资源数目。 显然,Need=Max-Allocation。
5)请求向量Request[1×m]
记录某个进程当前对各类资源的申请量,它是银行家算 法的入口参数。
银行家算法描述(P60)
当Pi发出资源请求Requesti后,系统按下述步骤进行检查:
step1.如果Requesti > Needi,则出错。 step2.如果Requesti>Available,则Pi 阻塞;
step3.系统试探着把资源分配给进程Pi,并修改下面数据结 构中的数值:
⑴静态资源分配法(摒弃“请求和保持条件”)
系统规定每一个进程在开始运行前,都必须一
次性地申请其在整个运行过程所需的全部资源。 此时,若系统有足够的资源,便把进程想要的 全部资源一次性地分配给它;若不能全部满足 进程的资源请求,则一个资源也不分给它。这 样,进程在运行过程中就不会再提出资源请求, 从而破坏了请求和保持条件。
部资源后,才能开始运行,但有可能有些资源长期被其 他进程占用,致使需要该资源的进程迟迟不能运行)