处理机调度与死锁pa

处理机调度与死锁pa

ID:39462701

大小:761.01 KB

页数:19页

时间:2019-07-03

处理机调度与死锁pa_第1页
处理机调度与死锁pa_第2页
处理机调度与死锁pa_第3页
处理机调度与死锁pa_第4页
处理机调度与死锁pa_第5页
资源描述:

《处理机调度与死锁pa》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章处理机调度与死锁3.1处理机调度的层次3.2调度队列模型和调度准则3.3调度算法3.4实时调度3.5产生死锁的原因和必要条件3.6预防死锁的方法3.7死锁的检测与解除13.5产生死锁的原因和必要条件3.5.1产生死锁的原因竞争资源。(2)进程间推进顺序非法。21.竞争资源引起进程死锁可剥夺和非剥夺性资源2)竞争非剥夺性资源3)竞争临时性资源3图3-12I/O设备共享时的死锁情况4图3-13进程之间通信时的死锁52.进程推进顺序不当引起死锁1)进程推进顺序合法图3-14进程推进顺序对死锁的影响62)进程推进顺序非法若并发进程P1和P2按曲线④所示的顺序推

2、进,它们将进入不安全区D内。此时P1保持了资源R1,P2保持了资源R2,系统处于不安全状态。因为,这时两进程再向前推进,便可能发生死锁。例如,当P1运行到P1:Request(R2)时,将因R2已被P2占用而阻塞;当P2运行到P2:Request(R1)时,也将因R1已被P1占用而阻塞,于是发生了进程死锁。73.5.2产生死锁的必要条件互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件83.5.3处理死锁的基本方法预防死锁。(2)避免死锁。(3)检测死锁。(4)解除死锁。93.6预防死锁的方法3.6.1预防死锁摒弃“请求和保持”条件2.摒弃“不剥夺”

3、条件3.摒弃“环路等待”条件103.6.2系统安全状态1.安全状态在避免死锁的方法中,允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则,令进程等待。所谓安全状态,是指系统能按某种进程顺序(P1,P2,…,Pn)(称〈P1,P2,…,Pn〉序列为安全序列),来为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。如果系统无法找到这样一个安全序列,则称系统处于不安全状态。112.安全状态之例我们通过一个例子来说明安全性。假定系统中有三

4、个进程P1、P2和P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和9台。假设在T0时刻,进程P1、P2和P3已分别获得5台、2台和2台磁带机,尚有3台空闲未分配,如下表所示:进程最大需求已分配可用P1P2P31049522312【例】用银行家算法判断下述每个状态是否安全。如果一个状态是安全的,说明所有进程是如何能够运行完毕的。如果一个状态是不安全的,说明为什么可能出现死锁。状态A占有台数最大需求用户1用户2用户3用户426475602可供分配的台数1安全13状态B占有台数最大需求用户1用户2用户3用户448395802可供分配的台数

5、2找不到序列,不安全143.由安全状态向不安全状态的转换如果不按照安全序列分配资源,则系统可能会由安全状态进入不安全状态。例如,在T0时刻以后,P3又请求1台磁带机,若此时系统把剩余3台中的1台分配给P3,则系统便进入不安全状态。因为,此时也无法再找到一个安全序列,例如,把其余的2台分配给P2,这样,在P2完成后只能释放出4台,既不能满足P1尚需5台的要求,也不能满足P3尚需6台的要求,致使它们都无法推进到完成,彼此都在等待对方释放资源,即陷入僵局,结果导致死锁。15*安全性算法(1)设置两个向量:①工作向量Work:它表示系统可提供给进程继续运行所需的各类资

6、源数目,它含有m个元素,在执行安全算法开始时,Work∶=Available;②Finish:它表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做Finish[i]∶=false;当有足够资源分配给进程时,再令Finish[i]∶=true。16(2)从进程集合中找到一个能满足下述条件的进程:①Finish[i]=false;②Need[i,j]≤Work[j];若找到,执行步骤(3),否则,执行步骤(4)。(3)当进程Pi获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:Work[j]∶=Work[j]+Allocatio

7、n[i,j];Finish[i]∶=true;gotostep2;(4)如果所有进程的Finish[i]=true都满足,则表示系统处于安全状态;否则,系统处于不安全状态。17之前安全状态例题我们通过一个例子来说明安全性。假定系统中有三个进程P1、P2和P3,共有12台磁带机。进程P1总共要求10台磁带机,P2和P3分别要求4台和9台。假设在T0时刻,进程P1、P2和P3已分别获得5台、2台和2台磁带机,尚有3台空闲未分配,如下表所示:进程最大需求已分配可用P1P2P31049522318WorkNeedAllocationWork+Allocation

8、Finish3False

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。