
设有三个作业,其运行时间分别为2,5,3小时,假定他们同时达到,并在同一台处理机上以单道方式运行,则平均周转时间最小的执行序列是( ) A. J1,J2,J3 B. J3,J2,J1 C. J2,J1,J3 D. J1,J3,J2
要确定平均周转时间最小的作业执行序列,需先明确周转时间的定义:作业从提交到完成的总时间(完成时间-到达时间)。由于三个作业同时到达(到达时间相同,设为0),周转时间即等于完成时间。单道运行模式下,平均周转时间为各作业完成时间之和除以作业数,目标是最小化总完成时间。
短作业优先调度算法通过优先执行运行时间最短的作业,可显著减少总等待时间,从而最小化平均周转时间。三个作业的运行时间分别为2、5、3小时,排序后应为:2小时(最短)→ 3小时(次短)→ 5小时(最长)。
设作业运行时间:J1=2小时,J2=5小时,J3=3小时。计算不同序列的总周转时间(完成时间之和):
J1完成时间=2,周转时间=2
J2完成时间=2+5=7,周转时间=7
J3完成时间=7+3=10,周转时间=10
总周转时间=2+7+10=19,平均≈6.33
J3完成时间=3,周转时间=3
J2完成时间=3+5=8,周转时间=8
J1完成时间=8+2=10,周转时间=10
总周转时间=3+8+10=21,平均=7
J2完成时间=5,周转时间=5
J1完成时间=5+2=7,周转时间=7
J3完成时间=7+3=10,周转时间=10
总周转时间=5+7+10=22,平均≈7.33
J1完成时间=2,周转时间=2
J3完成时间=2+3=5,周转时间=5
J2完成时间=5+5=10,周转时间=10
总周转时间=2+5+10=17,平均≈5.67
选项D(J1,J3,J2)的总周转时间最小(17),平均周转时间最短。这符合短作业优先原则,即通过优先执行短作业减少后续作业的等待时间。
答案:D
思考:若作业到达时间不同(非同时到达),短作业优先是否仍为最优选择?此时需考虑“抢占式”与“非抢占式”的区别,实际调度需结合动态到达情况调整策略。