题记:
今天,为大家介绍的是几个比较典型的处理机调度算法
正文:
处理机调度算法的目标
- 周转时间:周转时间=完成时间-到达时间
- 平均周转时间:平均周转时间=总周转时间/作业个数
- 带权周转时间:带权周转时间=周转时间/服务时间
先来先服务算法(FCFS)
基本思想
按作业或进程到达的先后顺序进行调度,即每次在后备作业(就绪进程)队列中选择先到达的作业(或进程)投入运行
特点
- 最简单
- 可用于作业调度和进程调度
FCFS算法范例
假设有四个作业A、B、C、D,它们到达的时间分别是0、1、2、3,它们的服务时间分别是1、100、1、100,则它们的完成时间、周转时间及带权周转时间计算下图所示:
分析
短作业C的带权周转时间高达100,不能容忍,而长作业D的带权周转时间仅为1.99
总结
FCFS算法有利于CPU繁忙型的作业,不利于I/O繁忙型作业;同时也有利于长作业,不利于短作业
短作业优先算法(SJF)
基本思想
按作业(或进程)估计运行时间长短来组织后备作业队列,每次选择运行时间最短的作业(或进程)投入运行,目的是为了提高系统的吞吐率,减少进程的平均周转时间。后来的作业不抢占正在执行的作业
特点
适合作业调度和进程调度,其中
- 短作业优先(SJF)的调度算法:从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行
- 短进程优先(SPF)