问题
问答题
给定一组作业J1,J2,…,Jn,它们的运行时间分别为T1,T2,…,Tn,假定这些作业同时到达,并且将在一台CPU上按单道方式运行。证明:若按最短作业优先调度算法运行这些作业,则平均周转时间最短。
答案
参考答案:假定有一个非最短作业优先运行序列是最短的,且序列为:Ji1,Ji2,…,Jin。
由于序列不是最短作业优先的,那么必然存在两个作业Jim,Jik满足1≤im<ik≤n,且Tim>Tik,即作业Jim在Jik之前运行。
考虑将Jim和Jik在序列中的次序交换,则Jik之前和Jim之后的作业周转时间不变,而Jik和Jim之间所有作业的周转时间都减少了Tim-Tik>0,而作业Tik和Tim的周转时间之和减少了Tim-Tik>0。
因此新的序列所用的周转时间比原序列更少,这与我们的假设矛盾。所以最短作业优先运行序列才能保证平均周转时间最短。