操作系统原理第5章资源分配与调度.ppt_第1页
操作系统原理第5章资源分配与调度.ppt_第2页
操作系统原理第5章资源分配与调度.ppt_第3页
操作系统原理第5章资源分配与调度.ppt_第4页
操作系统原理第5章资源分配与调度.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章资源分配和调度,主要内容:1资源管理概述2资源分配机构3资源分配战略4死锁,5.1概述,实际上在操作系统资源管理时,可以采用什么技术,允许一些竞争过程共享有限的资源。有限的资源,大量请求分配资源,如何满足?5.1.1资源管理的目的和任务,1资源管理的目的是为电脑用户提供充分发挥各种资源作用的简单有效的方法。要实现的目的是1)确保资源的高利用率。2)在“合理”的时间内为所有用户提供必要的资源。3)对不能共享的资源相互排斥。4)防止资源分配不当引起的死锁。2资源管理任务1)资源分配问题解决2)防止资源分配中的死锁;3)资源访问和使用方法问题解决4)实现提供资源访问的控制和安全措施。5.1.2

2、资源分类方法、1物理和节目资源2单门户和多门户资源3包括资源4虚拟资源、说明5.1.3资源管理的机构和策略机构包括说明资源的数据结构、资源孔刘和互斥技术等。策略提供了资源管理机构的使用方法,即资源的使用方法。5.2.1资源分配机制、5 . 2 . 1资源描述符1用于说明各种资源的最小分配单位的数据结构,资源描述符rd(资源描述符2)。资源描述符rd内容(见左侧):5.2.2资源信息块rid (2如何选择等效资源;3确定何时分配实施资源的方法(1)处理器闲置;(2)存储库已释放为可用空间。(3)外部设备发生中断;5.3.2第一次启动(FIFO),请求优先级,优先级,后,5.3.3优先级计划1(优

3、先级高),单个就绪队列,确定?臂移动时间表:改进1:如果当前移动手臂位于1号圆柱体上,并按右表顺序访问,则移动臂将从1号圆柱体移动到2号圆柱体,从5号圆柱体移动到40号圆柱体。臂移动时间表:满足磁盘请求时,始终选择当前移动臂前进方向的最短请求,以最小化臂移动距离。旋转调度,改进2: 5气缸需要3次访问,因此可以调整访问顺序,减少旋转数。轮转时间表:满足磁盘请求时,始终选择最接近当前读写头轮转方向的请求,以最小化轮转次数。5.4死锁(deadlock),5.4.1死锁概念死锁是系统状态,不断等待两个或更多进程永远不会成立的条件。另外,死锁有两个以上的进程之一,都有其他进程释放资源,等待封锁。这些

4、都不能前进。这种现象称为死锁。死锁表示,死锁可以用乳香度表示,乳香度形成回路后可以形成死锁。例如,您有两个P1、P2进程。如果您与打印机资源R1共享输入器R2,则在操作时将独占孔刘资源。死锁方向图表,案例过程推进顺序不当,导致死锁发生。系统有一个打印机、一个读卡器,牙齿系统与进程共享。两个进程同时运行,请求读卡器、请求打印机、读卡器关闭、打印机关闭、打印机请求、读卡器请求、读卡器关闭、取消打印机、他们分别等待对方占用的资源,无法结束这样的等待,制作了死锁。但是如果速度快或慢,避免上述僵局是没有死锁的。示例PV操作使用不当,生成死锁。设置过程Q1和Q2与两个资源R1共享R2,S1和S2分别是指示

5、资源R1和R2是否可用的信号量。假定这两个流程都需要两个资源。S1和S2的初始值均为1,因为资源是共享的,且必须互斥。他们的编程如下:流程Q1 P(S1);使用R1 P(S2);R2使用V(S1);R1版本;v(S2);R2版本;流程Q2 P(S2);使用R2 P(s1)使用R1 V(S2)R2;v(S1);R1版本;创建死锁?(分析)Q1和Q2同时运行,因此在运行进程Q1牙齿P(s1)后、运行P(s2)前,进程Q2执行P(s2)并再次运行进程Q1牙齿P(s2)时可能发生这种等待,都需要对方释放,显然这是不可能的,死锁这里发生的死锁不提资源,P操作安排不当,因此死锁也可能在不包括资源的情况下发

6、生。如果类似资源分配不适当,导致死锁发生系统中的M个资源由N个进程共享,则每个进程需要K个资源,需要m n*k(即资源数少于进程所需的总数),则分配不恰当可能导致死锁。例如,m=3、n=3、k=2等分配策略是依次分配每个流程。首先,为每个进程分配一个资源。此时,系统中的所有资源都已分配。因此,在第二次分配中,每个进程处于待机状态,死锁发生。如果、信件的发送和接收没有限制,则可能会出现死锁问题。例如,进程P1等待进程P3的消息S3,然后将消息S1发送到进程P2。P2还必须等待P1的信S1,然后将信S2发送给P3。P3也要等P2的信S2才能发送S3。在牙齿的情况下,形成了循环大气,永远不会结束,死

7、锁发生。5.4.2死锁原因,1,死锁原因死锁原因是并发进程的资源竞争。系统提供的资源数少于并发进程所需的资源数和进程推动顺序的死锁根本原因。我们可以采用适当的资源分配算法,达到消除死锁的目的。死锁图,说明:R1,R2各只有一个。而且,两个进程必须同时具有R1和R2才能完成任务!2,创建死锁的四个茄子必备条件(1)互不相容条件(2)部分分配:使流程可以请求和等待新资源分配,而无需释放已分配的资源。(3)剥夺性:在进程中获得的资源未使用之前,不能被其他进程强行夺走,可以自行释放。(4)循环条件(循环等待):有一组等待进程,P0等待P1牙齿使用的资源,P1等待P2使用的资源,Pn等待与P0牙齿使用的

8、资源。,3,对死锁的进一步说明(1)死锁是过程间的一种特殊关系,资源竞争引起的僵局关系,所以当我们提到死锁时,至少包括两个过程。单个过程也可以锁定自己,但那是计算机编程错误,不是死锁错误。(2)发生死锁时,首先要确定哪些过程因竞争而锁定了哪些资源。(3)在大多数情况下,这意味着系统死锁、系统内的部分、所有进程未锁定,部分竞争导致死锁进入,而不是所有资源。如果系统中的所有进程都被锁定了,我们称之为系统瘫痪。(4)系统瘫痪意味着所有进程进入了睡眠(阻塞)状态,但所有进程都睡了,如果至少有一个进程能被I/O中断唤醒,则不一定是瘫痪。5.4.3死锁问题解决战略、死锁4茄子先决条件创建(1)破坏互斥条件

9、:可以使用假脱机技术。(2)破坏部分分配:可以使用一次性满足请求,即静态字典分配。(3)破坏郑智薰剥夺性:可以使用可剥夺的方法。(4)破坏循环条件:可以测试是否发生死锁,然后决定是否分配。这些条件不是完全独立的。但是单独考虑每个条件是有用的,如果你能破坏牙齿四个茄子必要条件中的一个,就可以防止死锁。说明:1,上述前三个茄子条件是死锁存在的必要条件,但不是足够的条件。第二,第四个条件是前三个条件同时存在时发生的结果。3,破坏第一个条件(互斥条件),允许同时访问资源是代替互斥使用的简单方法,磁盘可以用这种方法管理,但是很多资源不能同时访问,所以这种方法在很多情况下是行不通的。4,采用剥夺式调度方法,可以破坏第三个条件(没有剥夺条件),但剥夺调度方法仅适用于当前主要存储资源及处理器资源分配。如果流程未授权申请资源,可以自愿释放资源(剥夺式),以后一起申请系统的话,也可以防止死锁。、解决死锁问题的三个茄子战略(1),1静态分配资源静态分配必须在流程运行之前申请所有必需的资源,在满足所有所需资源之前不开始运行。毫无疑问,所有并发运行进程所需的资源总数不会超过系统拥有的资源数量。使用静态分配时,进程在运行过程中不再请求资源,因此不会占用特定资源并等待其他资源。也就是说,第二个条件(占用和大气条件)牙齿破坏。静态分配策略很简单,被很多操作系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论