练习题
假定在单CPU条件下有下列要执行的作业:
作业 | 运行时间 | 优先级 |
1 | 10 | 5 |
2 | 1 | 1 |
3 | 4 | 9 |
4 | 2 | 10 |
作业到来的时间是按作业编号顺序进行的,即后面作业依次比前一个作业迟到一个时间单位。
请画出下面各种调度算法下作业调度情况:1) 先来先服务,2) 非抢占的短作业优先,3) 抢占的短作业优先,4) 抢占式优先级, 5) 轮转法,时间片T=3。
对于上述每种算法的平均周转时间是多少?平均等待时间是多少?
根据下表中进程的信息,按照不同的CPU调度算法,画出进程调度的甘特图,并计算平均等待时间和平均周转时间。
(1)使用First Come First Served(FCFS)调度算法
(2)使用Shortest Job First(SJF)调度算法
(3)使用Shortest-Remaining-Time-First(SRTF)调度算法
(4)使用Round Robin(RR)调度算法,时间片q=2ms
进程 (Process) | 到达时间 (Arrive Time) | CPU时间 (Burst Time/ms) |
P1 | 0 | 3 |
P2 | 1 | 1 |
P3 | 3 | 4 |
P4 | 4 | 2 |
(1)
FCFS
P1 | P2 | P3 | P4 |
0 3 4 8 10
平均等待时间:[0+ (3-1) + (4-3) + (8-4)] /4 =7/4=1.75 ms
平均周转时间:[(3-0) + (4-1) + (8-3) + (10-4)] /4 =17/4=4.25 ms
(2)
SJF
P1 | P2 | P4 | P3 |
0 3 4 6 10
平均等待时间:[0+ (3-1) + (6-3) + (4-4)] /4 =5/4=1.25 ms
平均周转时间:[(3-0) + (4-1) + (10-3) + (6-4)] /4 =15/4=3.75 ms
(3)
SRTF
P1 | P2 | P1 | P4 | P3 |
0 1 2 4 6 10
平均等待时间:[(2-1)+ (1-1) + (6-3) + (4-4)] /4 =4/4=1.0 ms
平均周转时间:[(4-0) + (2-1) + (10-3) + (6-4)] /4 =15/4=3.5 ms
(4)
RR
P1 | P2 | P3 | P4 | P1 | P3 |
0 2 3 5 7 8 10
平均等待时间:[(7-2)+ (2-1) + (8-5) + (5-4)] /4 =10/4=2.5 ms
平均周转时间:[(8-0) + (3-1) + (10-3) + (7-4)] /4 =20/4=5ms
附加: