FCFS和SJF调度算法下平均带权周转时间计算:实例解析
FCFS和SJF调度算法下平均带权周转时间计算:实例解析
本文以一个包含四个作业的实例,详细计算FCFS和SJF两种调度算法下的平均带权周转时间。
题目: 假设操作系统中有4个作业,它们的提交时间分别是9, 9.4, 9.8, 10,运行时间依次是3.2, 1.5, 1.2,若采用FCFS调度算法,这组作业的平均带权周转时间为____; 若采用SJF调度算法,其平均带权周转时间为____(所有计算均只四舍五入保留一位小数)。
解答:
一、FCFS调度算法
FCFS (First-Come, First-Served) 先来先服务算法,按照作业到达的先后顺序进行调度。
- 作业1:提交时间9,运行时间3.2,完成时间9+3.2=12.2,周转时间12.2-9=3.2,带权周转时间3.2/3.2=1。* 作业2:提交时间9.4,运行时间1.5,完成时间12.2+1.5=13.7,周转时间13.7-9.4=4.3,带权周转时间4.3/1.5=2.9。* 作业3:提交时间9.8,运行时间1.2,完成时间13.7+1.2=14.9,周转时间14.9-9.8=5.1,带权周转时间5.1/1.2=4.3。* 作业4:提交时间10,运行时间未知,由于FCFS算法需等待前面作业完成,无法计算其完成时间和周转时间。
根据以上计算,前三个作业的平均带权周转时间为(1+2.9+4.3)/3=2.7。
二、SJF调度算法
SJF (Shortest Job First) 最短作业优先算法,按照作业的服务时间从小到大进行调度。
- 作业2:运行时间最短,首先执行。提交时间9.4,运行时间1.5,完成时间9.4+1.5=10.9,周转时间10.9-9.4=1.5,带权周转时间1.5/1.5=1。* 作业3:提交时间9.8,运行时间1.2,完成时间10.9+1.2=12.1,周转时间12.1-9.8=2.3,带权周转时间2.3/1.2=1.9。* 作业1:提交时间9,运行时间3.2,完成时间12.1+3.2=15.3,周转时间15.3-9=6.3,带权周转时间6.3/3.2=2.0。* 作业4:提交时间10,运行时间未知,无法计算其完成时间和周转时间。
根据以上计算,前三个作业的平均带权周转时间为(1+1.9+2.0)/3=1.6。
结论:
- FCFS调度算法下的平均带权周转时间为2.7。* SJF调度算法下的平均带权周转时间为1.6。
注意: 由于题目缺少作业4的运行时间,无法计算其完成时间和周转时间,因此以上计算结果仅供参考。
原文地址: https://www.cveoy.top/t/topic/xib 著作权归作者所有。请勿转载和采集!