- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机学院 李胜利 操作系统原理 第五章 资源分配与调度 第五章 资源分配与调度 5.1 资源管理概述 5.1.1 资源管理的目的和任务 目的: 1、保证资源的高利用率; 2、在“合理”时间内使所有顾客有获得所需资源的机会; 3、对不可共享的资源实施互斥使用; 4、防止由资源分配不当而引起的死锁。 5.1 资源管理概述5.1.1 资源管理的目的和任务 对资源的管理应包括以下几个方面: 1、资源管理的描述--数据结构 2、确定资源的分配原则和调度原则 3、执行资源分配(实施) 4、存取控制和安全保护 5.1.2 资源的几种分类方法(自学) 5.2 资源分配机构 描述资源的管理和控制信息的数据结构称为资源分配的机构 。 在教材上列出了两种: 资源描述器 资源信息块 在实际的系统中,会根据实际需要设计相应的数据结构。例如:进程管理主要管理的机构:PCB、就绪队列和各种等待队列。 5.3资源分配策略5.3.1 概述 资源分配有两种方式: 静态分配:当一个进程(或程序)运行前,将它要求的资源一次分配加该进程,直到该进程终止,释放其占用的所有资源。这种分配方法效率太低; 动态分配:当一个进程要求使用某个(类)资源时,向系统提出资源的请求,系统响应程序的请求将某种资源分配给请求者,这种方法使得系统资源的利用率提高,但有可能造成死锁。 5.3资源分配策略5.3.1 概述 几种分配策略: 1、先请求先服务(FIFO) 2、优先调度 3、适应调度 4、均衡调度 5、针对设备特性的调度 5.4 死锁5.4.1 死锁的概念 在这两个进程并发执行时,当PA进程占有R1、PB进程占用R2时,PA要求R2,由于PB已占R2有而得不到,PA进程只有等待;PB申请R1,由于PA已占有R1,而得不到,PB进程只有等待,就出现了死等的情况。 5.4 死锁5.4.1 死锁的概念 例1:有两个进程PA和PB,它们在运行的过程中要共享使用两个独占设备R1和R2。设SR1:表示设备R1可用,初值为1;SR2表示设备R2可用,两个进程并发执行的程序如下: 5.4 死锁5.4.1 死锁的概念例2:三个进程共享使用一台打印机的程序若有一个进程少写了一个V操作。 5.4 死锁5.4.1 死锁的概念 例3:生产者-消费者问题 当缓冲区满时,生产者仍可顺利执行p(mutex)操作,于是它对缓冲区有控制权,然后,当它执行p(empty)时,由于没有空缓冲区被挂起。能将这个生产者释放的是有一个消费者从缓冲区中取走一个产品,并执行v(empty)操作,但由于缓冲区已被生产者占用,出现了死锁。 5.4 死锁5.4.1 死锁的概念 死锁简单的定义: 死锁就是两个或两个以上的进程等候着一个永远不会发生的事件时所取的一种系统状态。 教材上关于死锁的定义: 两个或两个以上并发进程,如果每个进程持有某种资源,而又等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源,但又都不能向前推进。这种现象称为死锁。 5.4 死锁5.4.2 死锁的起因 5.4 死锁5.4.2 死锁的起因 产生死锁的四个必要条件: 1、互斥条件 2、不可剥夺条件 3、部分分配 4、环路条件 5.4.3 解决死锁问题的策略 一、解决死锁问题的几个策略 为了不发生死锁,必须设法破坏产生死锁的四个必要条件之一。 条件1:难以否定,但可采用相应的技术,如利用假脱机技术,即用可共享使用的设备模拟非共享的设备; 条件2:容易不定,可制定相应的规则即可,例如,当一个进程(程序)申请某资源被拒绝,则必须释放已占用的资源,如需要再与其它所需资源一起申请。对CPU还可进行可剥夺分配。 5.4.3 解决死锁问题的策略 条件3:也是很容易否定的,只要分配策略上规定一个进程(或程序)一次将所需资源一次申请到位。用完后释放。可以全部用完后,统一释放,也可使用完后立即释放,只要是一次申请到的,系统就不会出现死锁。 条件4:实际上系统不采用部分分配,也就破坏了环路条件。 二、系统状态分析(略) 5.4.4 死锁的预防 预先分配一个进程要用的所有资源是防止死锁的一种安全而简单的方法,但设备的使用效率太低。其缺点也是明显的: 1、一个用户(进程)在程序运行之前艰难提出将要使用的全部设备; 2、设备(资源)的浪费太大,有些资源在进程运行过程中可能只有很少的时间才用到,有的甚至不会用到,例如,一个分枝语句。 5.4.5 死锁的避免 为了提高设备的利用率,应采用动态的设备分配方法,但应设法避免发生死锁,若存在发生死锁的可能性,则拒绝分配。 预防死锁: 采用的分配策略本身就否定了产生死锁的四个必要条件之一,这就保证了不会发生死锁; 死
您可能关注的文档
最近下载
- 抗菌药物临床应用分级管理目录(2023年版).doc VIP
- 飞利浦(PHILIPS)BTD2339 93 入门指南.pdf
- 设备管理工作总结汇报课件.pptx VIP
- (2025秋新改)人教版三年级数学上册教学计划(及进度表).docx VIP
- 人教版八年级数学上册 第十三章 三角形 综合与实践 确定匀质薄板的重心位置.pptx VIP
- TCEEIA 593:2022 工业机器人耐久性测试方法.pdf VIP
- 小学音乐《演唱 中华人民共和国国歌》章莉PPT课件新优质课比赛公开课获奖348.pptx VIP
- 2024秋季九年级英语教学计划(4篇).doc VIP
- 墩柱施工操作平台相关计算.docx VIP
- 岛津lc2030c高效液相色谱仪操作指南.doc
文档评论(0)