操作系统原理课件第五章资源分配与调度 .ppt

操作系统原理课件第五章资源分配与调度 .ppt

ID:58783365

大小:189.00 KB

页数:45页

时间:2020-10-03

操作系统原理课件第五章资源分配与调度 .ppt_第1页
操作系统原理课件第五章资源分配与调度 .ppt_第2页
操作系统原理课件第五章资源分配与调度 .ppt_第3页
操作系统原理课件第五章资源分配与调度 .ppt_第4页
操作系统原理课件第五章资源分配与调度 .ppt_第5页
资源描述:

《操作系统原理课件第五章资源分配与调度 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章资源分配与调度5.1资源管理概述5.1.1资源管理的目的和任务目的:1、保证资源的高利用率;2、在“合理”时间内使所有顾客有获得所需资源的机会;3、对不可共享的资源实施互斥使用;4、防止由资源分配不当而引起的死锁。5.1资源管理概述5.1.1资源管理的目的和任务对资源的管理应包括以下几个方面:1、资源管理的描述--数据结构2、确定资源的分配原则和调度原则3、执行资源分配(实施)4、存取控制和安全保护5.1.2资源的几种分类方法(自学)5.2资源分配机构描述资源的管理和控制信息的数据结构称为资源分配的机构。在教材上列出了两种:资源

2、描述器资源信息块在实际的系统中,会根据实际需要设计相应的数据结构。例如:进程管理主要管理的机构:PCB、就绪队列和各种等待队列。5.3资源分配策略5.3.1概述资源分配有两种方式:静态分配:当一个进程(或程序)运行前,将它要求的资源一次分配加该进程,直到该进程终止,释放其占用的所有资源。这种分配方法效率太低;动态分配:当一个进程要求使用某个(类)资源时,向系统提出资源的请求,系统响应程序的请求将某种资源分配给请求者,这种方法使得系统资源的利用率提高,但有可能造成死锁。5.3资源分配策略5.3.1概述几种分配策略:1、先请求先服务(FI

3、FO)2、优先调度3、针对设备特性的调度5.4死锁5.4.1死锁的概念例1:有两个进程PA和PB,它们在运行的过程中要共享使用两个独占设备R1和R2。设SR1:表示设备R1可用,初值为1;SR2表示设备R2可用,两个进程并发执行的程序如下:5.4死锁5.4.1死锁的概念在这两个进程并发执行时,当PA进程占有R1、PB进程占用R2时,PA要求R2,由于PB已占R2有而得不到,PA进程只有等待;PB申请R1,由于PA已占有R1,而得不到,PB进程只有等待,就出现了死等的情况。5.4死锁5.4.1死锁的概念例2:三个进程共享使用一台打印机的

4、程序若有一个进程少写了一个V操作。5.4死锁5.4.1死锁的概念例3:生产者-消费者问题当缓冲区满时,生产者仍可顺利执行p(mutex)操作,于是它对缓冲区有控制权,然后,当它执行p(empty)时,由于没有空缓冲区被挂起。能将这个生产者释放的是有一个消费者从缓冲区中取走一个产品,并执行v(empty)操作,但由于缓冲区已被生产者占用,出现了死锁。5.4死锁5.4.1死锁的概念死锁简单的定义:死锁就是两个或两个以上的进程等候着一个永远不会发生的事件时所处的一种系统状态。教材上关于死锁的定义:两个或两个以上并发进程,如果每个进程持有某种

5、资源,而又等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源,但又都不能向前推进。这种现象称为死锁。5.4死锁5.4.2死锁的起因计算机系统产生死锁的根本原因就是资源有限且操作不当5.4死锁5.4.2死锁的起因产生死锁的四个必要条件:1、互斥条件2、不可剥夺条件3、部分分配条件4、环路等待条件互斥条件:进程对所分配的资源进行排他性使用。不可剥夺条件:进程已经获得资源,在未使用完之前,不能被剥夺,只能等到使用完成时由自己释放。5.4死锁5.4.2死锁的起因部分分配条件:进程已经保持了至少一个

6、资源,但是又提出了新的资源请求,而该资源又已经被其他进程占有,此时请求进程阻塞,但对其已获资源保持不放。环路等待条件:发生死锁时,必然存在一个进程—资源的环形链,即进程集{p1,p2,p3……pn}中,p1等待p2资源,p2等待p3资源……5.4死锁5.4.2死锁的起因一、解决死锁问题的几个策略为了不发生死锁,必须设法破坏产生死锁的四个必要条件之一。条件1:难以否定,但可采用相应的技术,如利用假脱机技术,即用可共享使用的设备模拟非共享的设备;条件2:容易否定,可制定相应的规则即可,例如,当一个进程(程序)申请某资源被拒绝,则必须释放已

7、占用的资源,如需要再与其它所需资源一起申请。对CPU还可进行可剥夺分配。5.4死锁5.4.3解决死锁问题的策略条件3:也是很容易否定的,只要分配策略上规定一个进程(或程序)一次将所需资源一次申请到位。用完后释放。可以全部用完后,统一释放,也可使用完后立即释放,只要是一次申请到的,系统就不会出现死锁。条件4:实际上系统不采用部分分配,也就破坏了环路条件。二、解决死锁的基本方法1、预防死锁;2、避免死锁;3、检测死锁和解除死锁。5.4死锁5.4.3解决死锁问题的策略一、静态资源分配法预先分配一个进程要用的所有资源是防止死锁的一种安全而简单

8、的方法,但设备的使用效率太低。其缺点也是明显的:1、一个用户(进程)在程序运行之前很难提出将要使用的全部设备;2、设备(资源)的浪费太大,有些资源在进程运行过程中可能只有很少的时间才用到,有的甚至不会用到,例如,一个分支

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。