庞丽萍操作系统第四版第5章资源分配与调度.pptVIP

庞丽萍操作系统第四版第5章资源分配与调度.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
庞丽萍操作系统第四版第5章资源分配与调度

第5章 资源分配与调度 ? 主要内容: 1.资源管理概述 2.资源分配机构 3.?资源分配策略 4.?死锁 5.1概述 实际上,操作系统进行资源管理时,可以采用某种技术,使一些相互竞争的进程共享有的限资源。 5.1.1资源管理的目的和任务 1. 资源管理的目的 为计算机用户提供一种简单而有效地使用资源的方法,充分发挥各种资源的作用。其应达到的目的是: 1)? 保证资源的高利用率; 2)? 在“合理”的时间内使所有用户有获得所需资源的机会; 3)? 对不可共享的资源施行互斥; 4)? 防止由资源分配不当而引起的死锁。 2. 资源管理的任务 1)?解决资源分配问题; 2)?资源分配中防止出现死锁; 3)?解决资源的存取、使用方法问题; 4)提供资源的存取的控制和实施安全保护措施。 5.1.2资源的分类方法 1.? 物理和程序资源 2.? 单入口和多入口资源 3.? 等同资源 4.? 虚拟资源 5.1.3资源管理的的机构和策略 机构 包括描述资源的数据结构、资源共享和互斥的技术等。 策略 给出资源管理的的机构的使用方法,即给出资源的使用方法。 5.2资源分配机制 5.2.1资源描述器 1.描述各类资源的最小分配单位的数据结构称为资源描述器rd(resource descriptor 2.资源描述器rd的内容(见左): 5.2.2资源信息块rid (resource information block) 5.3资源分配策略 5.3.1概述 对计算机资源进行分配,我们一般考虑三方面的情况: 1.? 如何管理请求资源的队列; 2.? 如何对等同资源的选择; 3.? 如何确定实施资源分配时机 (1) 处理机空闲; (2) 存储区释放为空闲区; (3)外部设备发生中断; 5.3.2先请求先服务FIFO(First In First Out) 5.3.3优先调度1(优先级高为先) 5.3.3优先调度2(优先级高为先) 5.3.4针对设备特性的调度 5.3.4针对设备特性的调度(实例) 移臂调度: 旋转调度 5.4死锁(deadlock ) 5.4.1死锁的概念 死锁是两个或多个进程无止境地等候着永远不会成立的条件的一种系统状态。也可以说,死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,这种现象称为死锁。 死锁的表示 死锁可以用有向图来表示,有向图形成环路则形成死锁。例如,有P1,P2两个进程,共享一台打印机资源R1和一台输入机R2,在工作使用时,共享资源被独占。死锁的有向示意图 例1 进程推进顺序不当产生死锁。 设系统有打印机、读卡机各一台,它们被进程P和Q共享。两个进程并发执行,它们按下列次序请求和释放资源: 说明: 由于进程P 和Q 执行时,相对速度无法预知,当出现进程P占用了读卡机,进程Q占用了打印机后,进程P又请求打印机,但因打印机被进程Q占用,故进程P处于等待资源状态; 这时,进程Q执行,它又请求读卡机,但因读卡机被进程P占用而也只好处于等待资源状态。 它们分别等待对方占用的资源,致使无法结束这种等待,产生了死锁。 但是如果它们速度有快有慢,避免了上述僵局是可以不产生死锁的。 例2 PV 操作使用不当产生死锁。 设进程Q1 和Q2 共享两个资源r1 和r2,s1 和s2 是分别代表资源r1 和r2 能否被使用的信号量。 假定两个进程都要求使用两个资源,由于资源是共享的,必须互斥使用,所以s1 和s2 的初值均为1。它们的程序编制如下: (分析)由于Q1 和Q2 并发执行,于是可能产生这样的情况: 进程Q1 执行了P(s1)后,在执行P(s2)之前,进程Q2 执行了P(s2),当进程Q1 再执行P(s2)时将等待,此时,Q2再继续执行P(s1),也处于等待。 这种等待都必须由对方来释放,显然,这不可能的,产生了死锁。 注意这里发生死锁未涉及到资源,而是P 操作安排不当,所以,死锁也可能在不包括资源的情况下产生。 例3 同类资源分配不当引起死锁 若系统中有m个资源被n个进程共享,当每个进程都要求k个资源,而m n*k时(即资源数小于进程所要求的总数时),如果分配不得当就可能引起死锁。 例如,m=3,n=3,k=2,采用的分配策略是为每个进程轮流分配。首先,为每个进程轮流分配一个资源,这时,系统中的资源都已分配完了;于是第二轮分配时,各进程都处于等待状态,导致了死锁。 例4 对临时性资源使用不加限制引起死锁 进程通信时使用的信件可以看作是一种临时性资源。如果对信件的发送和接收不加限制的话,则可能引起死锁。 比如,进程P1 等待进程P3 的信件S3 ,之后再向进程P2 发送信件S1; P2 又要等待P1 的信件S1 ,之后再向P3 发送信件S2;

文档评论(0)

sandaolingcrh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档