操作系统——处理机调度.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统——处理机调度

6 处理机调度 (一) 处理机的多级调度 (二) 作业调度 (三) 进程调度 (一) 处理机的多级调度 一. 处理机调度的功能 确定数据结构 制定调度策略(调度原则) 给出调度算法 具体的实施处理机分派 不同类型的操作系统往往采用不同的处理机分配方法。 二. 处理机调度的分层实现 只有内存中的程序才能在CPU上运行。因此,处理机的调度通常分为两层: 宏观上:作业调度 对存放在辅存设备上的大量作业,以一定的策略进行挑选,分配主存等必要的资源,建立作业对应的进程,使其投入运行。 微观上:进程调度 对进入注册的所有进程,确定哪个进程在什么时候获得处理机,使用多长时间。 三. 批处理系统中的处理机调度 四. 多任务操作系统中的处理机调度 在分时系统或支持多任务并发执行的个人计算机操作系统中,系统将用户提交的任务处理为进程,一个进程又可以创建多个子进程,形成可以并发执行的多进程。 进程调度的任务是:当处理机空闲时,以某种策略选择一个就绪进程去运行,并分配处理机的时间。 另外,由于分时系统中的作业调度功能很弱(甚至没有),因此有些分时系统会将进程在内、外存之间进行交换。由于进程仍然存在,也与处理机的分配无关,故称为中级调度。 五. 多线程操作系统中的处理机调度 在支持多线程运行的系统中,每个进程都创建一个线程,也可以创建多个线程。 系统为进程分配它所需要的资源,而处理机的分配的对象则为线程。 系统提供线程调度程序,其功能是当处理机空闲时,以某种策略选择一个就绪线程去运行,并分配处理机时间。 (二) 作业调度 一. 作业的状态 作业在整个活动期间一共有四种状态: 提交状态:用户将自己的程序和数据提交给系统,等待输入。 后备状态:作业已存放在磁盘上,等待调进主存。 执行状态:作业在主存中运行。 完成状态:作业计算完成开始,退出主存。 作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转变。 二. 作业调度的功能 确定数据结构 建立作业控制块(JCB,Job Control Block) ,记录已进入系统的各作业的情况(类型、状态、资源请求与分配等); 确定调度策略与调度算法 分配资源 为被选中的作业创建进程,并且为其申请系统资源; 善后处理 收回作业占用的全部资源,撤销作业控制块以及与该作业有关的全部进程。 三. 作业控制块(JCB,Job Control Block) 每个作业进入系统时由系统为其建立一个作业控制块JCB(Job Control Block),它是存放作业控制和管理信息的数据结构,是作业存在的标志,主要信息见右图。 四. 作业调度算法性能的衡量 作业调度算法规定了从后备作业中选择作业进入系统内存的原则。 1. 确定调度算法时应考虑的因素 (1) 应与系统的整体设计目标一致 (2) 考虑系统中各种资源的负载均匀 (3) 保证作业的执行 (4) 对一些专用资源的使用特性的考虑 2. 调度性能的衡量 通常采用平均周转时间和带权平均周转时间来衡量作业调度算法性能的好坏。 (1) 周转时间: 一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间。 定义: ti = tci-tsi ti:作业周转时间 tci:作业完成时间 tsi: 作业提交时间 意义:说明作业i在系统中停留的时间长短 平均周转时间: (2) 带权周转时间 五. 作业调度算法 1. 先来先服务调度算法(FCFS): 策略: 作业来到的先后次序进行调度 特点: 每次选择的作业是等待时间最久的,而不管作业运行时间的长短。这种调度算法突出的优点是实现简单,效率较低,在一些实际的系统和一般应用程序中采用这种算法的较多。 2. 短作业优先调度算法 策略: 考虑作业的运行时间,每次总是选择一个请求运行时间最小的作业调入内存(系统) 。 特点: 易实现,系统吞吐量高。只考虑短作业,而没有考虑长作业的利益。相对先来先服务调度算法实现要困难些,如果作业的到来顺序及运行时间不合适,会出现饿死现象。 3. 响应比高者优先调度算法 响应比高者优先调度算法是介于这两种算法之间的一种折衷的算法。 响应比 = 响应时间 / 执行时间 = 1 + 等待时间 / 执行时间 每调度一个作业时,计算后备作业表中每个作业的响应比,挑选响应比高者投入运行。 这种算法从理论上讲是比较完备的,但作业调度程序要统计作业的等待时间,使用用户的估计的运行时间,并要作浮点运算(这是系统程序最忌讳的)浪

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档