p1、p2、p3、p4、p5到达时间为0、2、4、6、8执行时间3、6、4、5、2优先级3、5、1、2、4请给出采用 FCFS、短作业优先调度算法时各个进程的调度顺序,并计算平均周转时间和平 均带权周转时间。请计算采用抢占式优先级调度算法时各个进程的平均周转时间和平均带权周转时间。
时间: 2023-06-19 08:03:37 浏览: 196
首先,我们需要先计算出每个进程的完成时间、周转时间和带权周转时间。
| 进程 | 到达时间 | 执行时间 | 优先级 | 完成时间 | 周转时间 | 带权周转时间 |
| :-: | :------: | :------: | :----: | :------: | :------: | :----------: |
| p1 | 0 | 3 | 3 | 3 | 3 | 1.000 |
| p2 | 2 | 6 | 5 | 9 | 7 | 1.167 |
| p3 | 4 | 4 | 1 | 13 | 9 | 2.250 |
| p4 | 6 | 5 | 2 | 18 | 12 | 2.400 |
| p5 | 8 | 2 | 4 | 20 | 12 | 6.000 |
其中,完成时间为每个进程的结束时间,周转时间为完成时间减去到达时间,带权周转时间为周转时间除以执行时间。
接下来,我们分别采用三种调度算法进行计算。
### FCFS 调度算法
按照到达时间的先后顺序,先来先服务。
调度顺序为:p1 → p2 → p3 → p4 → p5。
平均周转时间 = (3 + 7 + 9 + 12 + 12) / 5 = 8.6
平均带权周转时间 = (1.000 + 1.167 + 2.250 + 2.400 + 6.000) / 5 = 2.163
### 短作业优先调度算法
按照执行时间的长短,先执行执行时间短的进程。
调度顺序为:p1 → p5 → p4 → p3 → p2。
平均周转时间 = (3 + 12 + 18 + 9 + 7) / 5 = 9.8
平均带权周转时间 = (1.000 + 6.000 + 2.400 + 2.250 + 1.167) / 5 = 2.363
### 抢占式优先级调度算法
按照优先级的高低,先执行优先级高的进程。如果出现优先级相同时,采用抢占式调度算法。
调度顺序为:p1 → p2 → p3 → p4 → p5。
平均周转时间 = (3 + 7 + 9 + 12 + 12) / 5 = 8.6
平均带权周转时间 = (1.000 + 1.167 + 2.250 + 2.400 + 6.000) / 5 = 2.163
综上,三种调度算法的平均周转时间和平均带权周转时间分别为:
| 调度算法 | 平均周转时间 | 平均带权周转时间 |
| :------: | :----------: | :--------------: |
| FCFS | 8.6 | 2.163 |
| 短作业优先 | 9.8 | 2.363 |
| 抢占式优先 | 8.6 | 2.163 |
阅读全文