调度性能的衡量
面向用户
周转时间短
周转时间,指作业从提交系统开始,直到作业完成为止的时间间隔。周转时间细分包括:
- 作业在外存后备队列中的等待时间
- 作业调入内存后创建的相应进程在就绪队列中的等待时间
- 进程在CPU上执行的时间
- 进程等待某些操作完成后的时间
其中2、3、4在一个作业的整个处理过程中可能会发生多次。
带权周转时间是指作业周转时间与作业实际运行服务时间的比值。平均周转时间和平均带权周转时间是衡量批处理系统调度算法的重要准则。
响应时间快
响应时间,从用户提交请求开始,直达系统首次产生响应为止的时间间隔。是衡量分时系统调度算法的重要准则。
截止时间的保证
开始截止时间,指某任务必须开始执行的最迟时间。完成截止时间,指某任务必须完成的最迟时间。对于比较严格的实时系统,调度算法必须做到这一点,否则后果严重。
优先权
批处理系统、分时系统、实时系统都可以优先执行优先级别更高的作业。
面向系统
系统吞吐量高
系统吞吐量,系统在单位时间内所能完成的总的工作量,它与批处理系统中的作业长短有关。短作业执行时间短,吞吐量高,长作业相反。
CPU利用率
资源的平衡利用
调度的相关时间
- 服务时间:作业需要运行的时间
- 完成时间 = 开始时间 + 服务时间
- 等待时间 = 开始时间 - 提交时间
- 周转时间 = 完成时间 - 提交时间
- 带权周转时间 = 周转时间 / 服务时间
- 响应比 = (等待时间 + 服务时间) / 服务时间 = 等待时间/服务时间 + 1
调度算法
先来先服务
先来先服务调度算法(First Come First Served, FCFS)是最简单的调度算法,可以用于作业调度和进程调度。按照作业进入系统后备作业队列的先后次序来挑选作业,加入就绪队列,等待执行。
算例:假设系统中有4个作业,到达时间分别为8、8.5、9、9.5,服务时间分别为2、0.5、0.1、0.2,FCFS的调度为:
FCFS是非抢占式的,易于实现,效率不高,性能不好,有利于长作业(CPU繁忙性)而不利于短作业(I/O繁忙性)。
短作业优先
短作业优先调度算法(Short Job First)用于进程调度时又被称为短进程优先调度算法(Short Process First)&#