- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华东理工大学《操作系统》第四章处理机调度概要
4.1 分级调度 处理机是计算机系统中的重要资源 处理机调度算法对整个计算机系统的综合性能指标有重要影响 可把处理机调度分成四个层次: 高级调度 中级调度 低级调度 线程调度 1)高级调度也称为作业调度或宏观调度 高级调度的时间尺度通常是分钟、小时或天 2)中级调度涉及进程在内外存间的交换,从存储器资源管理的角度来看,把进程的部分或全部换出到外存上,可为当前运行进程的执行提供所需内存空间,将当前进程所需部分换入到内存。指令和数据必须在内存里才能被处理机直接访问 3)低级调度也称微观调度,进程调度,从处理机资源分配的角度来看,处理机需要经常选择就绪进程进入运行状态,低级调度的时间尺度通常是毫秒级的。由于低级调度算法的频繁使用,要求在实现时做到高效 4)线程调度:选择就绪线程进入运行状态, 注:只有批处理系统中存在作业调度,实时与分时系统中不存在作业调度,只有进程调度、交换调度和线程调度 批处理作业的调度 作业调度又称高级调度或宏观调度,相应地称进程调度为低级(微观)调度。 主要功能: 1)审查系统能否满足用户作业的资源要求; 只要通过调用相应的资源管理程序的有关部分,审核其JCB表中是否能满足要求即可 2)按照一定的算法从输入井中的后备作业中选取作业; 调度的关键在选择恰当的算法 3)为选中作业做好执行前的准备,建立进程,分配资源; 4)作业结束后回收资源及JCB。 调度算法的确定基于一定因素,一般系统的设计目标有: 周转时间与平均周转时间 假定某一作业进入“输入井”的时间即作业提交时间为TSi ,作业i的完成时间为TEi, 它的周转时间为Ti =TEi – TSi 则作业平均周转时间为: 其中,n为被测定作业流中的作业数 B.带权周转时间 带权周转时间是作业周转时间与作业执行时间的比: Wi=Ti/Tri 2).常见的批处理作业调度算法 (1)先来先服务算法 (FCFS:First Come First Serve) 每个作业按照它们在队列中的等待时间长短来调度,可能造成短作业等长时间。 (2)最短作业优先算法(SJF:Shortest Job First) 短作业优先,吞吐量大,但长作业可能得不到服务 作业调度程序根据JCB优先数决定进入内存的次序,系统开销小 (a)静态优先级(外部优先数) 用户提交作业时,根据急迫程度规定适当的优先数 系统或操作员根据作业类型及要求资源情况指定。 (b)由系统动态计算优先级(内部优先数) 例如:可按如下公式计算作业的优先数: 优先数 = 用户规定优先数 – 作业处理时间 + 作业等待时间 – 输出量 3).作业调度算法应用例子1 假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间 应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间 先来先服务调度算法计算结果 最短作业优先作业算法计算结果 最高响应比优先作业算法计算结果 4.3 进程调度算法 1.进程调度 进程调度的任务是控制协调进程对CPU的竞争即按一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程 要解决的问题: WHAT:按什么原则分配CPU —进程调度算法 WHEN:何时分配CPU —进程调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的切换) 2 进程调度的功能 记录系统中所有进程的情况,PCB. 选择占有处理机的进程。不同的系统,不同的选择策略。 进行进程上下文切换 进程上下文由进程程序段、数据段、寄存器及相关数据结构PCB等组成。 3 进程调度的时机 当一个进程运行完毕,或由于某种错误而终止运行 当一个进程在运行中等待资源被阻塞如P原语 分时系统中时间片到 在进程通信中,执行中的进程执行了sleep(),wait() 5.各种进程调度算法 1)先进先出进程调度算法(FIFO) 按照进程就绪的先后次序来调度进程 优点:实现简单 缺点:没考虑进程的优先级 短进程可能等待长时间 2)基于优先级的调度(HPF—Highest Priority First) 优先选择就绪队列中优先级最高的进程投入运行 确定优先数的方法: 1)静态优先数法: 在进程创建时指定优先数,在进程运行时优先数不变 2)动态优先数法: 在进程创建时创立一个优先数,但在其生命周期内优先数可以动态变化。如等待和占有CPU时间长短优先数可改变 3)时间片轮转调度算法(RR—Round Robin) 把CPU划分成若干时间片(
文档评论(0)