CPU调度算法为什么是等待时间的重要标准?

问题描述:

例如,当我阅读有关不同调度算法(如First-Come-First-ServeShortest Job First,Priority Scheduling,Round Robin)的调度时,所有这些调度都是平均等待时间。CPU调度算法为什么是等待时间的重要标准?

考虑运行时间为21,3,6,2(msecs)的进程。 First-Come-First-Serve的平均等待时间为(0 + 21 + 24 + 30)/ 4 = 18.75毫秒,并且Shortest Job First为(0 + 2 + 5 + 11)/ 4 = 4.5毫秒。

这是否意味着Shortest Job First更好?我知道第一个等待时间较长,但这不是忙于等待,CPU忙于执行任务。首先像21毫秒的任务,首先完成,然后是旁边的另一个等等。就像不应该需要相同的时间完成任务,无论顺序?有任何想法吗?

不,那意味着最短的工作第一更好,SJF减少公平的average waiting time。所有这些只是测量。

单处理器系统,是的,它会花费相同的时间。

这一切都归结为系统的目的是什么,将要运行的工作类型是什么。

EDIT
2.6作为一个例子来实际系统中,真正的任务的调度算法为SCHED_OTHER这给了优先于具有较高的平均sleepig时间进程。 (即大部分时间都在等待一些I/O的工作)。我们希望尽量减少响应时间。
并且系统通过给每个进程分片时间来共享CPU,不像RR给出相同的片时间。