- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 处理机管理 第六章 处理机调度6.1 处理机的二级调度 宏观上:作业调度 微观上:进程调度 P106 11 sb:缓冲区s中是否有空,初值为1; tb: 缓冲区t中是否有空,初值为1; sa:缓冲区s中是否有数据,初值为0; ta: 缓冲区t中是否有数据,初值为0; 这样做程序运行的结果是正确的,但并行工作的程度大大降低,如何改? 对于 1 p1与P2、P3、P4同步(三个信号灯) 对于 2 P3、P4与p5同步(二个信号灯) 信号灯初值均为1 6.2 作业调度6.2.1作业调度的功能 作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转变。 作业调度功能: 1.记录已进入系统的各作业的情况(JCB,Job Control Block); 2.按一定的调度算法,从后备作业中选择一个或几个作业进入系统内存; 3.为被选中的作业创建进程,并且为其申请系统资源; 4.作业加束后作善后处理工作。 6.2 作业调度 6.2.2 作业控制块(JCB,Job Control Block) 每个作业进入系统时由系统为其建立一个作业控制块JCB(Job Control Block),它是存放作业控制和管理信息的数据结构,主要信息见右图。 6.2.3 调度性能的衡量 作业调度算法规定了从后备作业中选择作业进入系统内存的原则,这些原则的性能如何,就是本节所讨论的问题。 一、确定调度算法时应考虑的因素 1.应与系统的整体设计目标一致 2.考虑系统中各种资源的负载均匀 3.保证作业的执行 4.对一些专用资源的使用特性的考虑 6.2.3 调度性能的衡量 二、调度性能的衡量 通常采用平均周转时间和带权平均周转时间 作业的周转时间: ti = tci-tsi ti:作业周转时间 tci:作业完成时间 tsi: 作业提交时间 6.2.3 调度性能的衡量 6.2.4 先来先服务调度算法和短作业优先调度算法 先来先服务调度算法: 先来先服务算法是按作业来到的先后次序进行调度的,换句话说,调度程序每次选择的作业是等待时间最久的,而不管作业的运行时间的长短。这种调度算法突出的优点是实现简单,效率软低,在一些实际的系统和一般应用程序中采用这种算法的较多。 6.2.4 先来先服务调度算法和短作业优先调度算法 短作业优先调度算法: 短作业优先调度算法考虑作业的运行时间,每次总是选择一个运行时间最小的作业调入内存(系统). 在一般情况下这种调度算法比先来先服务调度算法的效率要高一些。实现相对先来先服务调度算法要困难些,如果作业的到来顺序及运行时间不合适,会出现饿死现象,例如,系统中有一个运行时间很长的作业JN,和几个运行时间小的作业,然后,不断地有运行时间小于JN的作业的到来,这样,作业JN就得不可调度而饿死。另外,作业运行的估计时间也有问题。 6.2.4 先来先服务调度算法和短作业优先调度算法 6.2.5 其它几种调度算法 响应比高者优先调度算法: 先来先服务和短作业优先算法都有其片面性,先来先服务调度算法只考虑作业的等待时间,而忽视了作业的运行时间,短作业优先算法则相反,只考虑了作业的运行时间,而忽视了作业黪等待时间。响应比高者优先调度算法是介于这两种算法之间的一种拆衷的算法。 6.2.5 其它几种调度算法 响应比高者优先调度算法 这样算法从理论上讲是比较完备的,但作业调度程序要统计作业的等待时间,使用用户的估计的运行时间,并要作浮点运算(这是系统程序最忌讳的)浪费大量的计算时间,这是系统程序所不允许的。 6.2.5 其它几种调度算法 优先数调度算法 优先数调度算法是终合考虑各方面的因素(作业等待时间、运行时间、缓急程度,系统资源使用等),给每个作业设置一个优先数,调度程序总是选择一个优先数最大(或者最小)的作业调入(系统)内存。这种算法实现的困难在于如何终合考虑,这些因素之间的关系怎样处理。 6.2.5 其它几种调度算法 均衡调度算法 均衡调度算法就是一种更为理想化的调度算法,如何实现就更困难,并且算法本身的开销有时会远选大于先来先服务和小作业优先调度算法的不足,这也是这两种算法被众多系统采用的最根本的原因。 6.3 进程调度6.3.1 调度/分派结构 处理机分配由调度和分派两个功能组成。 调度:组织和维护就绪进程队列。包括确定调度算法、按调度算法组织和维护就绪进程队列。 分派:是指当处理机空闲时,从就绪队列队首中移一个PCB,并将该进程投入运行。 调度与进程控制和进程通信的功能有密切的联系,当一个进程阻塞时,这种进程将进入相应的等待队列中,并让出CPU,调用进程分派程序选择一个就绪进程占用CPU;当一进程被唤醒时,这种进程将插入到就绪进程
文档评论(0)