操作系统处理器管理.ppt

上传人:夺命阿水 文档编号:250597 上传时间:2023-03-27 格式:PPT 页数:39 大小:1.13MB
返回 下载 相关 举报
操作系统处理器管理.ppt_第1页
第1页 / 共39页
操作系统处理器管理.ppt_第2页
第2页 / 共39页
操作系统处理器管理.ppt_第3页
第3页 / 共39页
操作系统处理器管理.ppt_第4页
第4页 / 共39页
操作系统处理器管理.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《操作系统处理器管理.ppt》由会员分享,可在线阅读,更多相关《操作系统处理器管理.ppt(39页珍藏版)》请在课桌文档上搜索。

1、第三章 操作系统处理器管理,1,3.3 处理器管理,3.3.1 基本概念与术语3.3.2 作业调度3.3.3 进程调度3.3.4 多道程序并发运行出现的问题3.3.5 多道程序设计基础并行程序设计,第三章 操作系统处理器管理,2,3.3.1 基本概念与术语,作业和进程 特权指令、处理器状态 处理器管理,第三章 操作系统处理器管理,3,3.3.1 基本概念与术语,作业和进程 作业、作业步 作业:用户在一次算题过程中或一个事务处理中要求计算机系统所作工作的集合。作业步:构成作业的有序步骤。一个作业步运行的结果产生下一个作业步所需的文件。例如一个C语言程序要经历编辑、编译、连接、运行四个作业步。,第

2、三章 操作系统处理器管理,4,进程和程序 进程:是程序的执行,因此属于动态的概念;程序:是一组指令的集合,属于静态的概念。进程有诞生(创建进程)和死亡(撤消进程),因此进程的存在是暂时的,而程序的存在是永久的。,3.3.1 基本概念与术语,第三章 操作系统处理器管理,5,2.特权指令、处理器状态(1)特权指令:只能由操作系统使用。(2)非特权指令:供一般用户使用。(对应两种不同的指令,处理器有两种执行状态)管态:又称主态、执行状态,此时处理器执行特权指令。目态:又称算态、题目状态,此时处理器处于用户执行状态。,3.3.1 基本概念与术语,第三章 操作系统处理器管理,6,3.3.1 基本概念与术

3、语,3.处理器管理处理器管理又称处理器调度,它一般分为两级:作业调度:高级调度、宏观调度。主要功能是按照某种调度原则,选取某些作业进入内存,为它们分配必要的资源,建立相应的进程,并当作业完成后做好一切善后工作。进程调度:低级调度、微观调度。主要功能是按照某种调度原则,实现处理器在各进程间的转换。,第三章 操作系统处理器管理,7,1 作业状态转换及作业控制块作业的四种状态:提交收容执行完成。,3.3.2 作业调度,第三章 操作系统处理器管理,8,提交状态:用户向机房提交作业或通过终端键盘将作业输入,其作业所处的状态为提交状态。收容状态:作业的全部信息已经输入外存等待运行,又称为后备状态。执行状态

4、:作业被作业调度程序选中进入内存,称为执行状态。完成状态:作业执行完毕,释放其占用的全部资源,准备退出系统。,3.3.2 作业调度,第三章 操作系统处理器管理,9,1 作业状态转换及作业控制块,作业名:用户作业的名称。状态:输入/收容/执行。优先数:根据作业的重要程度,由系统或用户确定。运行时间:估计完成本作业所需时间。位置:本作业在外存中的起始地址。长度:作业的地址空间。外设申请:作业运行时要求的外部设备。,作业控制块(JCB-Job Control Block),第三章 操作系统处理器管理,10,1 作业状态转换及作业控制块,所有的JCB可按作业的优先数大小或作业到达系统的时间顺序构成一个

5、作业队列,如下图所示,作业控制块与作业队列,第三章 操作系统处理器管理,11,2 作业调度的功能按照某种调度算法,从作业队列中选取作业进入内存。调用存储管理和设备管理程序,为被选中的作业分配内存和外设。为选中的作业建立相应的进程。作业运行完毕时回收该作业占用的资源,输出必要的信息,撤消该作业的JCB与相应的进程。,3.3.2 作业调度,第三章 操作系统处理器管理,12,先来先服务算法:系统按作业录入的先后次序建成作业队列。基于优先级的调度算法:作业的优先级可以由用户在申请作业时根据作业的紧急程度制订一个优先数:优先数=(等待时间)2(要求运行时间)(输出量)基本思想:既保证优先照顾各种短作业,

6、但是也不致使长作业因等待过久而等不到运行机会。,3.3.2 作业调度,第三章 操作系统处理器管理,13,分时和优先级结合的调度算法:用于具有分时操作的系统中,将后备作业按优先数分成几个队列,系统为每个队列分配一个相应的时间片,从优先数高的队列中选择作业运行,当该作业时间片用完后,它回到比原先低一级的队列中。,3.3.2 作业调度,第三章 操作系统处理器管理,14,进程的状态转换和进程控制块 进程的三种基本状态:(1)就绪状态:进程已具备各种必要的资源,只等待获得CPU。(2)运行状态:系统根据调度算法,将CPU分配给某一个就绪进程使之运行,该进程就处于运行状态。当运行的进程由于分配的CPU时间

7、已到或是由于I/O要求,则必须交出CPU就转入就绪或阻塞状态。(3)阻塞状态:等待I/O设备或发生其它错误,就转入阻塞状态。待到阻塞原因消除后,重新回到就绪状态。,3.3.3 进程调度,第三章 操作系统处理器管理,15,进程控制块(PCBProcess Control Block):(1)说明信息:包括进程名、优先数及当前状态。(2)保留信息:是保留该进程由运行状态转入阻塞或就绪状态时当时各寄存器的内容,以便当该进程重新进入运行时恢复当时各寄存器状况。,3.3.3 进程调度,第三章 操作系统处理器管理,16,进程各状态之间转换的示意图,进程调度,就绪,运行,阻塞,作业管理,完成,I/O完成,时

8、间到,I/O要求,说明信息,保留信息,第三章 操作系统处理器管理,17,进程控制创建进程、撤消进程、改变进程 在非结构系统中,进程控制按功能由操作系统内部完成,用户无法参与,这类系统中各进程是互相平等的。在树型结构系统中,一个进程能够创建一个或多个进程,前者称为父进程,后者称为子进程。这样就形成了一个进程家族。,3.3.3 进程调度,第三章 操作系统处理器管理,18,进程的层次结构,3.3.3 进程调度,第三章 操作系统处理器管理,19,进程控制通过原语实现的。原语:是机器指令的延伸,由若干条机器指令构成,用以完成某一特定功能的程序段,又称为广义指令。,3.3.3 进程调度,第三章 操作系统处

9、理器管理,20,(1)创建原语:按调用者提供的参数,构成该进程的PCB.(2)挂起原语:中断该进程的运行,把PCB中的状态置为阻塞状态。(3)激活原语:把某阻塞进程置为就绪状态,等待分配CPU。(4)撤消原语:停止该进程的执行,释放它所占有的各种资源,删除该进程的PCB。,3.3.3 进程调度,第三章 操作系统处理器管理,21,3 进程调度算法(1)优先数法:把处理器分配给具有最高优先数的进程。(2)轮转调度法:按照规定的时间片将处理器轮流分配给就绪队列中的进程。适用于多道批处理系统。(3)分级调度法:是上述两种算法的结合。,3.3.3 进程调度,第三章 操作系统处理器管理,22,进程的同步与

10、互斥(1)同步与互斥现象 同步:指进程之间的一种直接的协同工作关系。如果系统中有若干个进程要完成某一任务,那么它们相互之间必须协调配合。互斥:是进程间的一种关系。当多个进程要求共享系统中某些硬件或软件资源,而这些资源却又要求排它性适用时,往往引起由于多个进程竞争同一资源使运行结果出现问题。,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,23,Count中只增加1,例如:有两个进程P1,P2都对公共变量count作加1操作P1:R1-count;P2:R2-count;P1:R1-R1+1;count-R1;P2:R2-R2+1;count-R2;,3.3.4 多道程序并发

11、运行出现的问题,第三章 操作系统处理器管理,24,(2)解决进程同步与互斥的工具 解决同步与互斥的工具有很多,可以由硬件或软件实现。例如:用P-V操作解决。,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,25,P 操作 P(s)s s-1若 s 0,继续执行该进程若 s 0,继续执行该进程若 s 0,则释放s信号量队列中第一个等待者,改变其“阻塞”状态为“就绪”状态注意:每执行一次 V 操作,意味着释放一个资源,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,26,s=s-1=0,设初值s=1,s=s+1=0,s=s-1=-10,p2插入到阻塞队列Q,

12、直到p1执行完临界区和v(s)操作后,使s=0才可能激活p2.,(3)用P-V操作实现进程互斥,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,27,设置初值S=0,在进程P2尚未完成V(S)操作之前,进程P1只能处于等待状态。,(4)用P-V操作实现进程同步,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,28,生产者,L1:生产物品P(s1)将物品放入缓冲区V(s2)Goto L1,消费者,C1:P(s2)从缓冲区取物品V(s1)消费物品Goto c1,设置初值s1=1,s2=0,这样当两个进程运行时,不论在何处中断,均能进行协调工作。S1用来防止生

13、产者将物品放入 已满的缓冲区;s2用来防止消费者从空缓冲区取物品。,第三章 操作系统处理器管理,29,例:Bus活动:司机-启动-行车-到站停车-售票员-关门-售票-开门。试用P-V操作描述同步:关门-启动-行驶、售票-停车-开门-上下客设:s1允许司机启动,初值0;s2允许售票员开门,初值0,第三章 操作系统处理器管理,30,由于一个作业可以被分解成多个进程并行执行,因此进程间应保持联系,这种联系通常表现为进程之间需要交换一定量的信息,称为进程通信。(1)直接通信(2)信箱通信,2.进程通信,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,31,指在系统中,两个或两个以上

14、的进程,因竞争共享资源而无休止地相互等待,永远无法再继续前进是状态。,进程循环链,P1,P2,R1,R2,3 死锁,3.3.4 多道程序并发运行出现的问题,已分配,申请,已分配,申请,第三章 操作系统处理器管理,32,幻灯片 82,(1)死锁的原因和必要条件 产生死锁的原因为 系统资源不足。进程推进的顺序不当。产生死锁的必要条件为 所涉及的资源是非共享的。进程在等待新资源时,继续占用已分配到的资源。一个进程占有的资源不能被别的进程强行抢占。一个进程获得的资源同时被另一个进程所请求,从而形成一个进程的循环链。,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,33,解决死锁的方

15、法:死锁的预防。死锁的避免。死锁的检测和恢复,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,34,幻灯片 80,(2)死锁的预防 破坏条件:用假脱机技术将非共享设备变成共享设备。破坏条件:静态分配(一次申请),在没有获得全部资源之前,不能运行。破坏条件:当某进程的资源请求被拒绝时,必须释放其所有已获得的资源。破坏条件:对各类设备设置一个分配序号,如果某进程已分配到第k号设备,则以后只能再申请k以后序号的资源,称为按序分配。,必要条件,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,35,用算法实现避免在程序运行过程中死锁的发生。银行算法(Dijkstr

16、a算法),(3)死锁的避免,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,36,允许死锁发生,但能在适当时间检测出来,并设法进行恢复。死锁的检测:通常使用在允许前三个死锁必要条件存在的系统中。检测算法主要是检查系统中是否存在第四种死锁条件(存在进程的循环链)。通过化简进程-资源有向图的方法来检测系统在某一特定状态时是否处于死锁状态。,(4)死锁 的检测和恢复,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,37,死锁的恢复:强制性的从系统中撤消某些进程,并剥夺它们的资源给剩下的进程使用。使用一个有效的挂起和解除挂起机构来挂起一些进程,从挂起进程那里抢占

17、资源以解除死锁。,3.3.4 多道程序并发运行出现的问题,第三章 操作系统处理器管理,38,作业:,一系统的4个进程有如下数据,问:1)该系统是否安全?2)P2提出Request2(1,2,2,2)后,系统能否将资源分配给它?Allocation Need AvailableP0:0 0 3 2 0 0 1 2 1 6 2 2 P1:1 0 0 0 1 7 5 0P2:1 3 5 4 2 3 5 6P3:0 3 3 2 0 6 5 2P4:0 0 1 4 0 6 5 6,第三章 操作系统处理器管理,39,作业:,2.已知系统有三种资源(R1,R2,R3)、四种进程(P1,P2,P3,P4),某一状态的进程-资源图如右图所示,问:(1)如果进程P2发出资源请求(1,0,1),系统能否将 资源分配给它?(2)如果进程P1发出资源请求(1,0,1),系统能否将 资源分配给它?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号