操作系统第5章-第9章(华中科技大学版)ppt培训课件

上传人:bin****86 文档编号:54357961 上传时间:2018-09-11 格式:PPT 页数:261 大小:1.99MB
返回 下载 相关 举报
操作系统第5章-第9章(华中科技大学版)ppt培训课件_第1页
第1页 / 共261页
操作系统第5章-第9章(华中科技大学版)ppt培训课件_第2页
第2页 / 共261页
操作系统第5章-第9章(华中科技大学版)ppt培训课件_第3页
第3页 / 共261页
操作系统第5章-第9章(华中科技大学版)ppt培训课件_第4页
第4页 / 共261页
操作系统第5章-第9章(华中科技大学版)ppt培训课件_第5页
第5页 / 共261页
点击查看更多>>
资源描述

《操作系统第5章-第9章(华中科技大学版)ppt培训课件》由会员分享,可在线阅读,更多相关《操作系统第5章-第9章(华中科技大学版)ppt培训课件(261页珍藏版)》请在金锄头文库上搜索。

1、1,5.1 资源管理概述,OS的资源:包括各种硬件资源和软件资源。根据对资源的使用方式,可将资源分为: 共享资源。 如:CPU、内存空间、磁头、可重入的程序等使用方式:只让用,不让占, 独占资源。如: 打印机、卡片输入机互斥的变量、队列、表格、文件等会修改的数据使用方式:只要不释放,系统不能强行收回 ,2,一、资源管理的一般功能1、构造描述资源的数据结构操作系统通过这些数据结构而感知到资源的存在,并对资源进行管理,这些数据结构,应包含描述资源的:物理名(内部标识)、逻辑名(用户定义的名称) 分配状态类型、地址、等所有信息 ,3,3. 实施资源的分配(及回收)根据分配原则,将资源分配给请求的用户

2、并完成相应操作。 如: CPU:恢复现场内存:将程序调入内存、改内存分配标志独占资源:上锁,2. 制定资源的分配原则 决定资源应先分给谁(当有多个进程请求时)何时分配,分配多少等问题,当资源使用完毕后,收回资源,4,4. 存取控制和安全保护 对资源的存取进行控制并对资源实施安全保护措施(如:内存、文件的保护),5. 其他的特殊功能 ,5,三. 资源的分配方式(接受者)1. 静态分配(接受者是作业)系统在调度一个作业运行时:根据作业的需求进行资源的分配在作业运行完毕后,才收回所分配的全部资源,2. 动态分配(接受者是进程)在进程的运行过程中,根据进程提出的请求进行资源的分配资源使用完毕(共享)、

3、 或被进程释放(独占)后回收该资源,6,四. 资源的分类为了简化系统的设计,对不同的资源,可采用不同的方式进行分类。常用的分类方式有:,1. 硬件资源和软件资源硬件:如处理机、主存、外部设备软件:如文件、消息、数据结构,2. 同类资源如:打印机类、显示器类、内存区域等,. 虚拟资源和实际资源 ,虚拟资源和实际资源,实际 资源,虚拟 资源,目的:提高独占资源的利用率 ,5. 3 资源分配的策略,资源的分配策略指获得资源的先后次序,通常的实现方法是:将资源的请求者按某种原则形成一个具有先后次序的请求队列,当资源可用时,按队列的次序分配资源 ,9,1. 先请求先服务 ( FIFO First In

4、First Out)排序原则:按请求的先后排序。即:新产生的请求均排在队尾,分配时在队首,表头,适用范围:系统中的一切资源 优点:简单、次序不会改变,因此系统开销小 缺点:有时显得不合理、系统无法进行干预 ,10,2. 优先调度系统对每个进程(或作业),都指定一个优先级以反映请求资源的紧迫程度,排序原则:按优先级的高低排序即:新产生的请求,按其优先级的高低插入到队列中相应的位置,11,优点:系统可进行干预,以优化资源的使用方式,优先级的确定:主要由系统定,并可动态改变。如:进程时间片到:收回CPU,优先级降低自动放弃CPU:优先级升高,问题:优先级相同的多个请求,如何排序?,缺点:插入时要搜索

5、队列、有时无法用队列实现,适用的资源:由于系统开销较大,主要用于系统中的紧缺资源(如处理机),12,多优先级队列适用于:每个优先级上,有很多进程排序:优先级不同,所排的队列不同优先级相同,在同一队列中按FIFO排序,分配方式:仅当高优先级队列为空时才考虑低优先级队列优点:减少了系统的排序开销,3. 针对设备特性的调度思想:分配策略制定的资源访问次序 应与资源的实际使用次序相一致目的:提高资源访问的平均速度,如:读、写磁盘上的多个扇区时 ,对数据的访问,涉及到磁头定位的:柱面 (磁道):由磁头的直线运动得到耗时较长扇区:通过磁盘的旋转得到,耗时较短盘面:由不同的磁头的得到,不耗时,故要根据耗时的

6、长短,依次决定访问次序 ,例:不好的访问次序,好的访问次序: 应在磁头的一次移动 或磁盘的一周旋转中完成 ,磁头,16,5. 4 死锁的概念,一. 什么是死锁1. 死锁的例子(1) 交通堵塞,17,(2) 不恰当的 P 操作当:mutex=1 full=0 empty=n 时p1( ) p2( ) while(生产未完成) while(还要继续消费) p(mutex)生产一个产品; p(full); ;p(empty); 从缓冲区中取产品;p(mutex); v(mutex); 送一个产品到缓冲区; v(empty);v(mutex); v(full); 消费一个产品; ,18,(3) 设备的

7、共享例:设系统只有一台打印机(R1),和一台光标记阅读机(R2) ,由进程p1、p2 共享。 用信号灯的P、V操作,控制资源的申请和释放,其信号灯的设置为:s1:表示R1是否可用,初值为1s2:表示R2是否可用,初值为1,讨论资源分配的各个环节,看什么情况是安全的先看资源的请求方式: ,19,进程P1 进程P2p(s1); p(s2); 申请R1 申请R2 释放R1 释放R2v(s1); v(s2); p(s2); p(s1); 申请R2 申请R1 释放R2 释放R1v(s2); v(s1);,原因:会同时封锁二个资源,进程P1 进程P2 p(s1); p(s2);申请R1 申请R2 p(s2

8、); p(s1);申请R2 申请R1, 释放R1 释放R2 v(s1); v(s2); 释放R2 释放R1 v(s2); v(s1);,安全! 不足:对同一个进程来说资源的使用没有并发,不安全!,20,进 程 P1 进 程 P2p(s1); p(s2);申请R1 申请R2p(s2); p(s1);又申请R2 又申请R1 释放R1 释放R2 v(s1); v(s2); 释放R2 释放R1 v(s2); v(s1);,思考:若二进程顺序执行,是否安全呢? 二进程如何执行,才会发生死锁?,由于系统已没有它们所等待的资源而占有资源的进程本身也在等待(无法释放资源)从而造成一种永久的相互等待死锁,21,

9、 发生死锁的进程执行序列:时刻t1: 进程 p1占用打印机时刻t2: 进程 p2占用光标记阅读机时刻t3:进程 p1又请求光标记阅读机,等待时刻t4: 进程 p2又请求打印机,等待,思考:从资源的使用角度来看对死锁问题应如何进行一般性的描述呢?,22,2. 什么是死锁在两个或多个并发进程中,如果每个进程都持有某种资源,而又都同时等待着 别的进程释放它们保持着的资源,即:在两个或多个并发进程中,所有的进程都相互等待着其他的进程释放它们所持有的某种资源,否则就不能向前推进 ,否则就不能向前推进称这一组进程产生了死锁,(它们中),23,强调:(1) 死锁是在n ( n 2 )个进程(不一定是所有进程

10、)之间发生的一种状态这种状态一旦发生,就永远无法改变 ?,(2) 系统中已没有死锁进程所等待的资源了(已被它们自己全占用了,或即使有也不够),(3) 平常说系统会死锁,是指:系统存在着死锁的可能(由资源得请求序列定)(但不一定会出现,由资源的实际使用定),探讨:出现死锁的原因到底是什么呢?,24,二. 死锁的起因和条件(对设备的共享例),阴影区:资源被共享,进程的执行轨迹不可能进入,从图中可看出:1、死锁的原因(1) 系统的资源总数各进程的资源总需求,能进行一般性的表述吗?因此:死锁没有充分条件! ,(2) 进程推进的顺序不合理(对资源的申请次序、使用方式、占有方式),26,(1) 避开危险区

11、(一个进程同时得到全部的资源)(2) 将危险区变为阴影区(二进程申请资源次序一致)(3) 从危险区回退(强行收回某进程占有的资源) ,2、解决死锁的方法:至少可看出三种,3.死锁的示意表示,占有边,占有边,申请边 或等待边,申请边 或等待边,用途:可描述资源的分配过程,若死锁则构成有向环,可用资源 进程有向图描述资源的使用状态,问题:若同一类型的资源有多个怎么表示?能否找到死锁的某些判别方法呢? 判别,(1) 资源次序图的一般形式当同一资源有多个时,死锁的判别方法,资源的占有和申请可表示为:,4、死锁的判别方法,(a) 若资源分配图中无环,则不存在死锁(b) 若资源分配图中有环,且环内每类资源

12、只有一个个体,则死锁发生(此时环是充分条件)(c) 若资源分配图中有环,且环内有的资源有多个个体,则无法判定死锁是否发生(此时环不是充分条件)(d) 对资源分配图可进行化简,若化简后的图中仍有环(无法化简),则环中的进程被死锁 ,(2) 死锁的判别方法,例1:,?,?,环 ?,例:,化简后的状态:,死锁 ?,(a) 若节点只有占有边,则可去掉占有边并释放资源(b) 当有了空闲的资源后,等待边可变为占有边,化 简 的 方 法,33,(1) 互斥条件涉及的资源为临界资源,5、 死锁的必要条件,(2) 不剥夺条件进程占有的资源不能被其他进程强行剥夺,(3) 部分分配每次仅申请一部分资源。在占有资源以

13、后,还会继续申请新资源。只有不满足才等待,(4) 环路条件在进程与资源有向图中,存在有向环,意义:只要其中一条不成立,死锁就不会发生 ,34,三. 死锁的预防和避免基本点:破坏死锁的某一个必要条件(1) 互斥条件 (2) 不剥夺条件 (3) 部分分配 (4) 环路条件,问题:破坏哪些必要条件是可行的呢? ,35,降低了设备的利用率(只用很短时间,或根本不用) 造成不必要的等待(一开始,可能并不用) 用户可能提不出所需的全部资源 ,1. 静态预防死锁(死锁不会发生)在作业调度时,为选中的作业分配它所需要的所有临界资源在作业的整个运行期间,这些资源都为它独占,缺点 :,思考: (1) 破坏了死锁必要条件中的哪一条?(2) 资源利用率高不高?为什么?,2. 有序资源分配法(不让死锁出现)按资源类对资源进行排序(每一类给定一个唯一的序号)分配请求必须以上升的次序进行;而且同一类型的资源必须一次申请完,思考:破坏了死锁的哪一个必要条件?如何破坏的? ,37,5,假定n个进程(不妨设为P1Pn)被死锁而且 Pi占有的资源序号最高 (如5号),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号