- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 
                        查看更多
                        
                    
                激励学习的一段说说:我多想采来一缕阳光
                    第三章 处理机调度和死锁   处理机调度 进程数目处理机数目 动态分配 由处理机调度程序完成 作业提交?处理机调度?获得处理机,执行  3.1 处理机调度的基本概念 3.1高、中、低三级调度  1、高级调度(作业调度、长程调度、接纳调度) 将外存作业调入内存,创建PCB等,插入就绪队列。 一般用于批处理系统,分/实时系统一般直接入内存,无此环节。 调度特性 1.接纳作业数(内存驻留数) 太多―――	周转时间T长 太少―――	系统效率低 2.接纳策略:即采用何种调度算法:FCFS、短作业优先等    3.1.2调度的队列模型 一、仅有进程调度的调度队列模型 3.5产生死锁的原因和必要条件 所谓死锁(deadlock),是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处在这种僵持状态时,若无外力作用,它们都将无法再向前推进。 3.5.1产生死锁的原因 二、进程推进顺序不当引起死锁 进程推进顺序合法 进程推进顺序非法 银行家算法之例 五个进程{P0,P1,P2,P3,P4},三种资源{A,B,C},数量分别为10、5、7,在T0时刻的资源分配情况:  (1)T0时刻的安全性    利用安全性算法对T0时刻的资源分配情况进行分析,可得下表所示的T0时刻的安全性分析,从中得知,T0时刻存在着一个安全序列{P1,P3,P4,P2,P0},故系统是安全的: (2) P1请求资源   P1发出请求向量Request(1,0,2),系统按银行家算法进行检查: (1)Request1(1,0,2)≤Need(1,2,2) (2)Request1(1,0,2)≤Available(3,3,2) (3)系统先假定可为P1分配资源,并修改Available,Allocation和Need向量,由此形成的资源变化情况如图 (4)我们再利用安全性检查此时系统是否安全。   由所进行的安全性检查得知,可以找到一个安全序列{P1,P3,P4,P2,P0}。因此,系统是安全的,可以立即将P1所申请的资源分配给它。 (3)P4请求资源   P4发出请求向量Request(3,3,0),系统按银行家算法进行检查:    (1)Request4(3,3,0)≤Need4(4,3,1)。    (2)Request4(3,3,0)Available(2,3,0),让P4等待。 (4) P0请求资源   P0发出请求向量Request0(0,2,0),系统按银行家算法进行检查:    (1)Request0(0,2,0)≤Need0(7,4,3));    (2)Request0(0,2,0)≤Available(2,3,0),    (3)进行安全性检查     可用资源Available{2,1,0}已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。      3.7?死锁的检测和解除 3.7.1、 死锁的检测 系统必须须提供检测和解除死锁的手段: (1)保存有关资源的请求和分配信息; (2)提供算法以利用这些信息来检测系统是否进入死锁。  1、资源分配图(Resource Ailocation Graph)   系统死锁可利用资源分配图来描述。G=(N,E): (1)N分为两个互斥的子集,进程结点P=(P1,P2,…,Pn),资源结点R={r1,r2,…,rn},N=P∪R。 (2)E中的边e∈E,都连接着P中的一个结点和R中的一个结点,e={pi,rj}是资源请求边,由进程pi指向资源rj,它表示进程pi请求一个单位的rj资源。 3.7.1?死锁的检测 2、死锁定理 简化资源分配图来检测系统处于S状态时,是否为死锁状态。简化方法如下: (1)在资源分配图中,找出一个既不阻塞又非独立的进程结点pi。在顺利情况下,pi可获得所需资源而继续执行,直至运行完毕,再释放其所占有的全部资源。这相当于消去pi所有的请求边和分配边,使之成为孤立的结点。 2、死锁定理 S为死锁状态的充分条件是:当且仅当状态S的资源分配图是不可完全简化的。 3.7.1?死锁的检测 3、死锁检测中的数据结构 死锁检测中的数据结构,类似于银行家算法中的数据结构: ⑴ 可利用资源向量Available。它表示了m类资源中的每一类资源的可用数目。 ⑵ 把不占用资源的进程向量Allocation:=0记入表L中,即Li∪L。 ⑶ 从进程集合中找到一个Requesti≤Work的进程,做如下处理:   ①将其资源分配图简化,释放出资源,增加工作向量Work :=Work+Allocation。   ②将它记入L表中。 3.7.1?死锁的检测 ⑷若不能把所有的进程都记入L表中,则表明系统状态S的资源分配图是不完全简化的,因此,该系统状态将发生死锁。 Work:=Available;
                您可能关注的文档
最近下载
- 招聘专员考试题.docx VIP
 - Mission Engineering Guide 使命任务工程指南.pdf VIP
 - 2025年医疗救护员、护理员职业技能鉴定理论考试题库资料-上(单选、多选、判断题).pdf VIP
 - 莫迪斯肝脏应用培训考核试题及答案.docx VIP
 - 集训-基础医学试题.docx VIP
 - 心身健康体检.docx VIP
 - 11月份骨科护理实习生出科理论考试.docx VIP
 - 外研版(2024)新教材小学四年级英语上册Unit 1I love sports 基础练习卷.docx VIP
 - 2020年7月妇科实习生出科考试.docx VIP
 - 心理健康临床症状自评量表(SCL-90).docx VIP
 
原创力文档
                        

文档评论(0)