有序资源分配法课件_第1页
有序资源分配法课件_第2页
有序资源分配法课件_第3页
有序资源分配法课件_第4页
有序资源分配法课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第五章资源分配与调度(一)资源管理功能(二)资源分配的机构和策略(三)死锁概念第五章资源分配与调度(一)资源管理功能1(一)资源管理功能一.资源管理功能 1.目的:保证资源的高利用率;在“合理”时间内使所有顾客有获得所需资源的机会;对不可共享的资源实施互斥使用;防止由资源分配不当而引起的死锁。

(一)资源管理功能一.资源管理功能22.资源管理的任务:资源管理的描述--数据结构确定资源的分配原则(调度原则)执行资源分配(实施)存取控制和安全保护

2.资源管理的任务:3二.资源的静态分配和动态分配1.资源的静态分配

系统对作业一级采用资源静态分配方法。

当一个进程(或程序)运行前,将它要求的资源一次分配给该进程,直到该进程终止,释放其占用的所有资源。

效率太低2.资源的动态分配

系统对进程一级采用资源动态分配方法。 系统在进程运行中,根据进程提出的资源需求,进行资源的动态分配和回收。

资源利用率提高,但有可能造成死锁二.资源的静态分配和动态分配1.资源的静态分配4(二)资源分配的机构和策略一.资源分配机构1.资源描述器(1)什么是资源描述器 描述各类资源的最小分配单位的数据结构称为资源描述器rd(resourcedescriptor)。 如:主存的最小分配单位: 在分页分配中——主存页面 磁盘的最小分配单位: 磁盘面中的一个扇区(二)资源分配的机构和策略一.资源分配机构5(2)资源描述器的内容 资源名 资源类型 最小分配单位的大小 最小分配单位的地址 分配标志 描述器链接信息 存取权限 密级 最后一次存取时间 记帐信息(2)资源描述器的内容 资源名62.资源信息块(1)什么是资源信息块 描述某类资源的请求者、可用资源情况和该类资源分配程序等必要信息的数据结构。(2)资源信息块的内容2.资源信息块(1)什么是资源信息块7(3)中央处理机资源信息块(3)中央处理机资源信息块8二.资源分配策略1.先请求先服务(FIFO策略) 排序原则:按请求的先后次序排序。 每个新产生的请求均排在队尾,而当资源可用时,资源分配程序从队列中选取第一个请求,并满足其需要。适用范围:系统中的一切资源。优点:简单、系统开销小。缺点:有时显得不合理,系统无法进行干预。二.资源分配策略1.先请求先服务(FIFO策略)适用范围92.优先调度

在优先调度策略下,对于每一个进程(或作业)要指定一个优先级,优先级反映了进程要求处理的紧迫程度。 排序原则:按优先级的高低排序。 每一个新产生的请求,按其优先级的高低插到相应的位置上。而当资源可用时,选取队列中第一个请求,并满足其需要。

优先级的确定:主要由系统来确定,并可动态改变。

使用范围:由于系统开销大,主要适用于系统中的紧缺资源。便于资源的动态分配。2.优先调度 在优先调度策略下,对于每一个进程(或作103、适应调度4、均衡调度5、针对设备特性的调度 移臂调度 旋转调度3、适应调度11(三)死锁一.什么是死锁1.死锁的例子(1)设备共享 进程PA、PB,共享一台打印机和一台磁带机 时刻t1:进程PA——占用打印机 进程PB——占用磁带机 时刻t2:进程PA——又请求磁带机 进程PB——又请求打印机

问:以后会发生什么情况?(三)死锁一.什么是死锁12(2)用信号灯的P、V操作描述死锁 上例中,用信号灯的P、V操作表示资源的申请和释放。 信号灯设置: S1:表示设备R1可用,初值为1 S2:表示设备R2可用,初值为1

讨论两种资源请求序列,哪种情况可能产生互相死等的局面。(2)用信号灯的P、V操作描述死锁 上例中,用信号灯的P13 在这两个进程并发执行时,当P1进程占有R1、P2进程占用R2时,P1要求R2,由于P2已占R2有而得不到,P1进程只有等待;P2申请R1,由于P1已占有R1,而得不到,P2进程只有等待,就出现了死等的情况。2 在这两个进程并发执行时,当P1进程占有R1、P2进程占用14例2:三个进程共享使用一台打印机的程序若有一个进程少写了一个V操作。例2:三个进程共享使用一台打印机的程序若有一个进程少写了一个152.什么是死锁死锁简单的定义: 死锁就是两个或两个以上的进程等候着一个永远不会发生的事件时所取的一种系统状态。教材上关于死锁的定义: 两个或两个以上并发进程,如果每个进程持有某种资源,而又等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源,但又都不能向前推进。这种现象称为死锁。2.什么是死锁死锁简单的定义:16二.死锁的起因和条件1.引起死锁的原因系统资源不足;进程推进顺序非法。二.死锁的起因和条件1.引起死锁的原因172.死锁的图解2.死锁的图解183.产生死锁的四个必要条件:

1.互斥条件 2.不可剥夺条件

3.部分分配 4.环路条件

3.产生死锁的四个必要条件: 1.互斥条件19三.死锁的预防和避免基本点:破坏死锁的某一个必要条件1.解决死锁问题的几个策略 为了不发生死锁,必须设法破坏产生死锁的四个必要条件之一。条件2(不可剥夺条件):容易否定,可制定相应的规则即可,例如,当一个进程(程序)申请某资源被拒绝,则必须释放已占用的资源,如需要再与其它所需资源一起申请。对CPU还可进行可剥夺分配。条件1(互斥条件):难以否定,但可采用相应的技术,如利用假脱机技术,即用可共享使用的设备模拟非共享的设备;三.死锁的预防和避免基本点:破坏死锁的某一个必要条件20 条件4(环路条件):实际上系统不采用部分分配,也就破坏了环路条件。 条件3(部分分配):也是很容易否定的,只要分配策略上规定一个进程(或程序)一次将所需资源一次申请到位。用完后释放。可以全部用完后,统一释放,也可使用完后立即释放,只要是一次申请到的,系统就不会出现死锁。 条件4(环路条件):实际上系统不采用部分分配,也就破坏了212.静态预防死锁的方法 在作业调度时为选中的作业分配它所需的所有资源,当资源一旦分配给该作业,在其整个运行期间这些资源为它独占。 讨论: (1)这种方法破坏了死锁的必要条件中的哪一条? (2)这种方法的资源利用率高不高?为什么? 这种方法安全而简单的方法,但设备的使用效率太低。其缺点也是明显的:

1.一个用户(进程)在程序运行之前艰难提出将要使用的全部设备; 2.用户作业必须等待,直到所有资源满足时才能投入运行。 3.设备(资源)的浪费太大,有些资源在进程运行过程中可能只有很少的时间才用到,有的甚至不会用到,例如,一个分支语句。2.静态预防死锁的方法 在作业调度时为选中的作业分配它所223.动态避免死锁的方法

为了提高设备的利用率,应采用动态的设备分配方法,但应设法避免发生死锁,若存在发生死锁的可能性,则拒绝分配。

预防死锁: 采用的分配策略本身就否定了产生死锁的四个必要条件之一,这就保证了不会发生死锁;

死锁避免: 是在动态分配资源的策略下采用某种算法来预防可能发生的死锁,从而拒绝可能产生死锁的某个资源的请求。3.动态避免死锁的方法 为了提高设备的利用率,应采用动态23 系统中所有资源都按某种规则统一编号(例如打印机为1、磁带机为2、磁盘为3、等等),所有分配请求必须以上升的次序进行。当遵守上升次序的规则时,若资源可用,则预以分配;否则,请求者等待。 系统要求申请进程: 1.对它所必须使用的而且属于同一类的所有资源,必须一次申请完; 2.在申请不同类资源时,必须按各类设备的编号依次申请。

讨论:这种方法破坏了死锁的必要条件中的哪一条?为什么?(1)有序资源分配法 系统中所有资源都按某种规则统一编号(例如打印机为1、磁带24例如:进程PA,使用资源的顺序是R1,R2;进程PB,使用资源的顺序是R2,R1;若采用动态分配有可能形成环路条件,造成死锁。采用有序资源分配法:R1的编号为1,R2的编号为2;PA:申请次序应是:R1,R2PB:申请次序应是:R1,R2这样就破坏了环路条件,避免了死锁的发生。例如:进程PA,使用资源的顺序是R1,R2;25(2)银行算法

避免死锁算法中最有代表性的算法是DijkstraE.W于1968年提出的银行家算法:

该算法需要检查申请者对资源的最大需求量,如果系统现存的各类资源可以满足申请者的请求,就满足申请者的请求。

这样申请者就可很快完成其计算,然后释放它占用的资源,从而保证了系统中的所有进程都能完成,所以可避免死锁的发生。(2)银行算法 避免死锁算法中最有代表性的算法是Dijk26 例子:假定系统有10个资源(为了说明问题的简单,不管它是什么资源),目前分配的情况如上表:

此时,系统中只剩下2个资源,这时就要考察能满足哪个进程,不能满足P和R的最大要求,能满足Q,于是将剩下的2个资源分配给Q,Q就能完成,然后释放所占用的6个资源。可满足P,也可满足R,这时不论分给谁都能保证完成。 例子:假定系统有10个资源(为了说明问题的简单,不管它是什

温馨提示

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

评论

0/150

提交评论