一 相同时间提交
1.假定有三个作业,编号为1,2,3,它们几乎同时到达,但进入系统的先后顺序为:1,2,3。三个作业要求的运行时间如下图:
0 job1 24 job2 27 job3 30……
周期时间=完成时间-提交时间
带权周期时间=周期时间/运行时间
先来先服务调度算法(FCFS):
作业 | 提交时间 | 运行时间 | 开始时间 | 完成时间 | 周期时间 | 带权周期时间 |
1 | 0 | 24 | 0 | 24 | 24 | 24/24=1 |
2 | 0 | 3 | 24 | 27 | 27 | 27/3=9 |
3 | 0 | 3 | 27 | 30 | 30 | 30/3=10 |
平均周转时间T=(24+27+30)/3=27 | 平均带权周转时间W=(1+9+10)/3=6.67 |
短作业优先调度算法(SJF):
作业 | 提交时间 | 运行时间 | 开始时间 | 完成时间 | 周期时间 | 带权周期时间 |
1 | 0 | 24 | 6 | 30 | 30 | 30/24=1.25 |
2 | 0 | 3 | 0 | 3 | 3 | 3/3=1 |
3 | 0 | 3 | 3 | 6 | 6 | 6/3=2 |
平均周转时间T=(30+6+3)/3=13 | 平均带权周转时间W=(1.25+1+2)/3=1.4167 |
二 不同时间提交
先来先服务调度算法(FCFS):
作业 | 提交时间(10进制) | 运行时间 | 开始时间 | 完成时间 | 周期时间 | 带权周期时间 | 执行顺序 |
1 | 8.0 | 2.0 | 8.0 | 10.0 | 2.0 | 2.0/2.0=1.0 | 1 |
2 | 8.5 | 0.5 | 10.0 | 10.5 | 2.0 | 2.0/0.5=4.0 | 2 |
3 | 9.0 | 0.1 | 10.5 | 10.6 | 1.6 | 1.6/0.1=16 | 3 |
4 | 9.5 | 0.2 | 10.6 | 10.8 | 1.3 | 1.3/0.2=6.5 | 4 |
平均周转时间T=1.725 | 平均带权周转时间W=6.875 |
短作业优先调度算法(SJF):
作业 | 提交时间(10进制) | 运行时间 | 开始时间 | 完成时间 | 周期时间 | 带权周期时间 | 执行顺序 |
1 | 8.0 | 2.0 | 8.0 | 10.0 | 2.0 | 2.0/2.0=1.0 | 1 |
2 | 8.5 | 0.5 | 10.3 | 10.8 | 2.3 | 2.3/0.5=4.6 | 4 |
3 | 9.0 | 0.1 | 10.0 | 10.1 | 1.1 | 1.1/0.1=11 | 2 |
4 | 9.5 | 0.2 | 10.1 | 10.3 | 0.8 | 0.8/0.2=4 | 3 |
平均周转时间T=1.55 | 平均带权周转时间W=5.15 |
最高响应比优先调度(HRN):
优先级=(等待时间+运行时间)/运行时间
等待时间=开始时间-提交时间
作业 | 提交时间(10进制) | 运行时间 | 开始时间 | 完成时间 | 周期时间 | 带权周期时间 | 执行顺序 |
1 | 8.0 | 2.0 | 8.0 | 10.0 | 2.0 | 2.0/2.0=1.0 | 1 |
2 | 8.5 | 0.5 | 10.1 | 10.6 | 2.1 | 2.1/0.5=4.2 | 3 |
3 | 9.0 | 0.1 | 10.0 | 10.1 | 1.1 | 1.1/0.1=11 | 2 |
4 | 9.5 | 0.2 | 10.6 | 10.8 | 1.3 | 1.3/0.2=6.5 | 4 |
平均周转时间T=1.625 | 平均带权周转时间W=5.675 |