文档详情

单处理器调度.ppt

发布:2017-06-20约5.59千字共49页下载文档
文本预览下载声明
进程调度示例 进 程 到达时间 服务时间 A 0 3 B 2 6 C 4 4 D 6 5 E 8 2 5 10 15 20 0 A B C D E 先来先服务(FCFS) 选择函数MAX(w),非抢占 选择就绪队列中等待时间最长的进程运行 A B C D E 5 10 15 20 0 A B C D E 先来先服务 (FCFS) FCFS的缺点: 一个短进程在它能够执行之前,可能必须等待很长时间 有利于处理器密集型的进程,而不利于I/O密集型的进程 处理器密集型进程:一个进程大多数时候使用处理器 可能导致处理器和I/O设备都没有得到充分利用 时间片轮转 A B C D E 5 10 15 20 0 A B C D E 时间片=1 运行后,等待时间清零 等待时间相等时,新进程优先 技巧:往左划线,碰壁则停,长者入选 C D E B A 选择函数MAX(wi),时间片用完时抢占 选择就绪队列中等待时间最长的进程运行 时间片轮转 A B C D E 5 10 15 20 0 A B C D E 时间片=4 技巧:往左划线,碰壁则停,长者入选 C D E A B 运行后,等待时间清零 等待时间相等时,新进程优先 选择函数MAX(wi),时间片用完时抢占 选择就绪队列中等待时间最长的进程运行 时间片轮转 使用基于时钟的抢占策略,可以减少FCFS策略下短作业的不利情况 每个进程在被抢占前都给定一个时间片运行,当中断发生时,当前运行进程转移至就绪队列,然后以FCFS策略选择下一个就绪进程运行。 时间片大小 时间片长度变化的影响 过长-退化为FCFS算法,进程在一个时间片内都执行完,响应时间长。 过短-用户的一次请求需要多个时间片才能处理完,进程切换次数增加,响应时间长。 最好:略大于一次典型的交互所需的时间 虚轮转法 轮转法缺点:受处理器限制的进程和受I/O限制的进程的相对处理,导致实际占用处理器时间的不公平 虚轮转法: 新进程到达或时间段用完加入就绪对列,基于FCFS 为I/O而阻塞的进程加入一个I/O对列,解除了I/O阻塞的进程都转移到一个FCFS辅助队列中 进行一次调度决策时,辅助对列中的进程优先于就绪对列中的进程 图9.7 最短进程优先 选择函数MIN(s),非抢占 选择所需CPU时间最短的进程 短进程将会越过长作业,跳到队列头 A B C D E 5 10 15 20 0 A B C D E 最短进程优先 对长进程非常不利,长进程可能被饿死 难以准确估计进程的执行时间,从而影响调度性能 如果估计进程所需处理的时间不正确,操作系统可能终止这个作业 1973 年关闭 MIT 的 IBM 7094,发现 1967年提交的作业还未运行! 最短剩余时间(SRT) 选择函数MIN(s-e),到达时抢占 对SPN增加了抢占机制的版本,调度程序总是选择预期剩余时间最短的进程 执行选择函数时必须估计处理时间 周转时间方面,性能优于SPN A B C D E 5 10 15 20 0 A B C D E 最高响应比优先 (HRRN) 选择函数MAX(R),非抢占 选择响应比最大的进程 等待处理器的时间 + 预计的服务时间 预计的服务时间 A B C D E 是FCFS和SPN的折衷 5 10 15 20 0 A B C D E w+ s s R= 多级反馈队列调度(MFQ) 特点 多个就绪队列,各个队列具有不同优先级 新进程首先插入第一个队列末尾,FCFS排队;在规定的时间片内该进程若执行完,则撤离,否则降至第二个队列排队。……直到降至第n个队列,则按时间片轮转方式执行。 性能:长、短作业兼顾,有较好的响应时间 终端型作业一次完成; 短批处理作业周转时间不长; 长批处理作业不会长期不处理。 多级反馈队列调度 处罚运行时间最长的作业 不用知道进程剩余的执行时间 调度基于抢占原则(按时间片),使用动态优先级机制 A B C D E 5 10 15 20 0 A B C D E C D E 技巧:被抢占就降级,同级FCFS A B 算法 比较项 FCFS RR SPN SRT HRRN MFQ 决策模式 非抢占式 抢占式 (按时间片) 非抢占式 抢占式 (进程到达) 非抢占式 抢占式 (按时间片) 吞吐量 不突出 时间片太小,可能变低 高 高 高 不强调 响应时间 可能很高, 对于短进程提供良好的响应时间 对短进程提供良好响应时间 提供良好的响应时间 提供良好的响应时间 不强调 开销 最小 低 可能高 可能高 可能高 可能高 对进程 的影响 不利于短进程和I/O密集型 公平对待 不利于长进程 不利于长进程 良好的均衡 (进程) 可能偏向I/O密集的进程 饥饿问题 无 无 可能 可能 无 可能 各种常用调度算法的比较
显示全部
相似文档