假设系统中有5个进程,它们的到达时间和服务时间见下表,忽略I/O以及其他开销时间,选择下面任意一种算法进行CPU调度,输出各个进程的完成时间、周转时间。 (1) 按先来先服务(FCFS) (2) 非抢占的短进程优先(SPF) (3) 高响应比优先(HRRN) (4) 时间片轮转(RR,时间片=1) (5) 多级反馈队列(FB,第i级队列的时间片=2i-1)
时间: 2024-04-06 10:29:06 浏览: 247
四种进程调度算法FCFS、时间片轮换、优先级调度、最短作业优先.txt
好的,我会根据您提供的数据进行计算,以下是各种算法的计算结果:
(1) 先来先服务(FCFS)调度算法:
| 进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 |
|------|----------|----------|----------|----------|
| P1 | 0 | 10 | 10 | 10 |
| P2 | 1 | 1 | 11 | 10 |
| P3 | 2 | 2 | 13 | 11 |
| P4 | 3 | 1 | 14 | 11 |
| P5 | 4 | 5 | 19 | 15 |
平均周转时间 = (10 + 10 + 11 + 11 + 15) / 5 = 11.4
(2) 非抢占的短进程优先(SPF)调度算法:
| 进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 |
|------|----------|----------|----------|----------|
| P1 | 0 | 10 | 10 | 10 |
| P2 | 1 | 1 | 2 | 1 |
| P3 | 2 | 2 | 6 | 4 |
| P4 | 3 | 1 | 7 | 4 |
| P5 | 4 | 5 | 12 | 8 |
平均周转时间 = (10 + 1 + 4 + 4 + 8) / 5 = 5.4
(3) 高响应比优先(HRRN)调度算法:
| 进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 |
|------|----------|----------|----------|----------|
| P1 | 0 | 10 | 10 | 10 |
| P2 | 1 | 1 | 2 | 1 |
| P3 | 2 | 2 | 6 | 4 |
| P4 | 3 | 1 | 7 | 4 |
| P5 | 4 | 5 | 12 | 8 |
平均周转时间 = (10 + 1 + 4 + 4 + 8) / 5 = 5.4
(4) 时间片轮转(RR,时间片=1)调度算法:
| 进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 |
|------|----------|----------|----------|----------|
| P1 | 0 | 10 | 17 | 17 |
| P2 | 1 | 1 | 3 | 2 |
| P3 | 2 | 2 | 12 | 10 |
| P4 | 3 | 1 | 8 | 5 |
| P5 | 4 | 5 | 19 | 15 |
平均周转时间 = (17 + 2 + 10 + 5 + 15) / 5 = 9.8
(5) 多级反馈队列(FB,第i级队列的时间片=2^i-1)调度算法:
| 进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 |
|------|----------|----------|----------|----------|
| P1 | 0 | 10 | 16 | 16 |
| P2 | 1 | 1 | 2 | 1 |
| P3 | 2 | 2 | 12 | 10 |
| P4 | 3 | 1 | 11 | 8 |
| P5 | 4 | 5 | 19 | 15 |
平均周转时间 = (16 + 1 + 10 + 8 + 15) / 5 = 10
以上就是各种算法的计算结果,希望能对您有所帮助。
阅读全文