软件开发中常用的调度算法。
不同的环境(不同应用领域以及不同的操作系统)需要不同的调度算法,有如下三种环境:
(1)批处理。该环境的调度算法应考虑如何减少进程间的切换。
(2)交互式。该环境的调度算法应考虑如何避免一进程猫占CPU,(3)实时。该环境的调度算法应考虑如何满足实时处理用户的实时任务要求。
批处理系统中使用的主要调度算法有:
(1)先来先服务(FCFS)调度算法.FCFS是按照先来先服务的原则调度作业,它考虑了用户作业的先来后到,但忽略提高系统的吞吐量和缩短平均周转时间。算法易实现,但效率低.
(2)短作业优先(SJF)调度算祛。SJF算法是优先考虑运行时间最短的作业。
其优点是提高系统的吞吐量,缩短平均周转时间,易于实现且效率较高,但未考虑长作业的利益。
(3)优先级调度算法。根据作业的优先级调度作业投人运行。优先级的确定可根据作业对资源的要求确定,也可由用户确定。