操作系统原理-第六章处理机管理.ppt
《操作系统原理-第六章处理机管理.ppt》由会员分享,可在线阅读,更多相关《操作系统原理-第六章处理机管理.ppt(53页珍藏版)》请在三一办公上搜索。
1、1,2,第六章 处理机管理,3,第六章 处理机调度6.1 处理机的二级调度,宏观上:作业调度微观上:进程调度,4,P106 11sb:缓冲区s中是否有空,初值为1;tb:缓冲区t中是否有空,初值为1;sa:缓冲区s中是否有数据,初值为0;ta:缓冲区t中是否有数据,初值为0;,5,6,这样做程序运行的结果是正确的,但并行工作的程度大大降低,如何改?,7,8,对于 1 p1与P2、P3、P4同步(三个信号灯)对于 2 P3、P4与p5同步(二个信号灯)信号灯初值均为1,9,6.2 作业调度6.2.1作业调度的功能,作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转变。作业
2、调度功能:1.记录已进入系统的各作业的情况(JCB,Job Control Block);2.按一定的调度算法,从后备作业中选择一个或几个作业进入系统内存;3.为被选中的作业创建进程,并且为其申请系统资源;4.作业加束后作善后处理工作。,10,6.2 作业调度 6.2.2 作业控制块(JCB,Job Control Block),每个作业进入系统时由系统为其建立一个作业控制块JCB(Job Control Block),它是存放作业控制和管理信息的数据结构,主要信息见右图。,11,6.2.3 调度性能的衡量,作业调度算法规定了从后备作业中选择作业进入系统内存的原则,这些原则的性能如何,就是本节
3、所讨论的问题。一、确定调度算法时应考虑的因素1.应与系统的整体设计目标一致2.考虑系统中各种资源的负载均匀3.保证作业的执行4.对一些专用资源的使用特性的考虑,12,6.2.3 调度性能的衡量,二、调度性能的衡量通常采用平均周转时间和带权平均周转时间作业的周转时间:ti=tci-tsi ti:作业周转时间 tci:作业完成时间 tsi:作业提交时间,13,6.2.3 调度性能的衡量,14,6.2.4 先来先服务调度算法和短作业优先调度算法,先来先服务调度算法:先来先服务算法是按作业来到的先后次序进行调度的,换句话说,调度程序每次选择的作业是等待时间最久的,而不管作业的运行时间的长短。这种调度算
4、法突出的优点是实现简单,效率软低,在一些实际的系统和一般应用程序中采用这种算法的较多。,15,6.2.4 先来先服务调度算法和短作业优先调度算法,短作业优先调度算法:短作业优先调度算法考虑作业的运行时间,每次总是选择一个运行时间最小的作业调入内存(系统).在一般情况下这种调度算法比先来先服务调度算法的效率要高一些。实现相对先来先服务调度算法要困难些,如果作业的到来顺序及运行时间不合适,会出现饿死现象,例如,系统中有一个运行时间很长的作业JN,和几个运行时间小的作业,然后,不断地有运行时间小于JN的作业的到来,这样,作业JN就得不可调度而饿死。另外,作业运行的估计时间也有问题。,16,6.2.4
5、 先来先服务调度算法和短作业优先调度算法,17,6.2.5 其它几种调度算法,响应比高者优先调度算法:先来先服务和短作业优先算法都有其片面性,先来先服务调度算法只考虑作业的等待时间,而忽视了作业的运行时间,短作业优先算法则相反,只考虑了作业的运行时间,而忽视了作业黪等待时间。响应比高者优先调度算法是介于这两种算法之间的一种拆衷的算法。,18,6.2.5 其它几种调度算法 响应比高者优先调度算法,这样算法从理论上讲是比较完备的,但作业调度程序要统计作业的等待时间,使用用户的估计的运行时间,并要作浮点运算(这是系统程序最忌讳的)浪费大量的计算时间,这是系统程序所不允许的。,19,6.2.5 其它几
6、种调度算法,优先数调度算法优先数调度算法是终合考虑各方面的因素(作业等待时间、运行时间、缓急程度,系统资源使用等),给每个作业设置一个优先数,调度程序总是选择一个优先数最大(或者最小)的作业调入(系统)内存。这种算法实现的困难在于如何终合考虑,这些因素之间的关系怎样处理。,20,6.2.5 其它几种调度算法,均衡调度算法均衡调度算法就是一种更为理想化的调度算法,如何实现就更困难,并且算法本身的开销有时会远选大于先来先服务和小作业优先调度算法的不足,这也是这两种算法被众多系统采用的最根本的原因。,21,6.3 进程调度6.3.1 调度/分派结构,处理机分配由调度和分派两个功能组成。调度:组织和维
7、护就绪进程队列。包括确定调度算法、按调度算法组织和维护就绪进程队列。分派:是指当处理机空闲时,从就绪队列队首中移一个PCB,并将该进程投入运行。调度与进程控制和进程通信的功能有密切的联系,当一个进程阻塞时,这种进程将进入相应的等待队列中,并让出CPU,调用进程分派程序选择一个就绪进程占用CPU;当一进程被唤醒时,这种进程将插入到就绪进程队列中。在一般的操作系统教材中把上述功能称为进程调度。,22,6.3.2 进程调度的功能,1.记录和保持系统中所有进程的有关情况和状态特征 有关进程调度的信息是记录在PCB中的,在进程调度中用到的主要是进程的状态、调度优先级(优先数)、就绪进程队列等。,23,6
8、.3.2 进程调度的功能,2.决定分配(处理机)策略确定进程调度的策略,例如,先来先服务、优先数调度策略,调度策略的不同,组织就绪进程队列的方式也不同。先来先服务调度策略,就绪队列要按等待时间大到小的顺序排队;优先数调度,则就绪进程队列要按优先数的升疗(或降序)的方式排队。等等。,24,6.3.2 进程调度的功能,3.实施处理机的分配总而言之,进程调度包括:调度算法的选择(调度算法)调度时机的选择(调度时机)实施进程调度(调度程序),25,6.3.2 进程调度的功能,调度时机(UNIX系统中):(1)进程自动放弃处理机:当进程进入高低优先级睡眠状态时(在sleep()程序中);在进程进入暂停状
9、态时(在stop()程序中);进程进入僵死状态时(在exit()程序中);,26,6.3.2 进程调度的功能,在中断自陷总控程序中,当先前态是用户态,且runrun标志大于0,则进行强迫调度,强行剥夺现运行进程的处理机,转进程调度程序。runrun标志大于0是说明系统中处于就绪状态的进程的优先级高于现运行进程的优先级,这时要进行强迫调度,出现这种情况有两种可能:高低优先级睡眠进程被唤醒后其优先级高于现运行进程;当一个进程占用一段时间的CPU后,它的优先级要降低,造成现运行进程的优先级低于系统中的其它就绪进程(时间片到是其中的一种情况)。教材p136进程调度的几种时机是一般操作系统原理中的概念。
10、2)强迫调度,27,6.3.2 进程调度的功能,实施进程调度的程序称为进程调度程序(或称调度程序),在通常的操作系统原理中,该程序属于系统进程的执行程序,有的操作系统是把进程调度程序作一个特别的处理,如早期的操作系统中把进程调度程序称为交通控制程序,不属于系统中的任何进程。在UNIX系统中,进程调度程序swtch()分属个不同的进程,即调用swtch()的进程让出处理机的进程)、0进程、被调度到的进程。,28,6.3.3 调度方式(略),29,6.3.4 调度用的进程状态变迁图,在这个图中新创建的进程进入低优就绪状态,一个运行进程因时间片到(实际上是计算量大的进程)而转换成低优就绪;进程因等待
11、I/O完成而转换高优就绪.,30,6.3.4 调度用的进程状态变迁图,调度程序首先看高优就绪进程队列是否为空,若不为空,则从高优就绪进程中选择一个进程占用CPU,否则,从低优就绪队列中选择。这种调度效果是能充分地利用系统资源。为什么?UNIX系统的进程调度状态变迁图,与前一种调度变迁图有着异曲同功的效果。,31,6.3.5 进程优先数调度算法,优先数调度算法是目前操作系统广泛采用的一种进程调度算法,这种算法按照某种原则由系统(或用户、或系统与用户结合)赋予每个进程一个优先数,在处理机空闲时,进程调度程序就从就绪进程中选择一个优先数最大(或者最小)的进程占用CPU(该进程就从就绪状态转换成运行状
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 原理 第六 处理机 管理
链接地址:https://www.31ppt.com/p-6575541.html