非抢占式多级反馈队列
注:多级队列时间片一般为:1,2,4,8...
| P1 | P2 | P3 | P4 | P5 |
|---|
| 到达时间 | 0 | 2 | 4 | 5 | 6 |
| 服务时间 | 6 | 3 | 5 | 1 | 3 |
假设队列有:
Q1:时间片1
Q2:时间片2
Q3:时间片4
Q4:时间片8
题解
| 时间 | 执行的进程 | 注释 | 时间片 |
|---|
| 0 | P1 | 0时刻只有P1到达,P1进入队列Q1,此时队列情况如下: Q1=> [P16],执行P1 | 执行1个时间片 |
| 1 | P1 | 1时刻依然只有P1到达,因为1个时间片执行完,所以P1进入队列Q2,此时队列情况如下: Q2=> [P15],执行P1 | 执行2个时间片 |
| 3 | P2 | 3时刻P2到达,P2进入队列Q1,P1进入队列Q3,此时队列情况如下:Q1=> [P23], Q3=> [P13],执行P2 | 执行1个时间片 |
| 4 | P3 | 4时刻P3到达,P3进入队列Q1,P2进入队列Q2,此时队列情况如下:Q1=> [P35],Q2=> [P22], Q3=> [P13],执行P3 | 执行1个时间片 |
| 4 | P3 | 4时刻P3到达,P3进入队列Q1,P2进入队列Q2,此时队列情况如下:Q1=> [P35],Q2=> [P22], Q3=> [P13],执行P3 | 执行1个时间片 |
| 5 | P4 | 5时刻P4到达,P4进入队列Q1,P3进入队列Q2,此时队列情况如下:Q1=> [P41],Q2=> [P22,P34], Q3=> [P13],执行P4 | 执行1个时间片 |
| 6 | P5 | P4完成, 6时刻P5到达,P5进入队列Q1,此时队列情况如下:Q1=> [P53],Q2=> [P22,P34], Q3=> [P13],执行P5 | 执行1个时间片 |
| 7 | P2 | 7时刻,Q1队列执行结束,执行Q2队列。P5进入队列Q2,此时队列情况如下:Q2=> [P22,P34,P52], Q3=> [P13],执行P2 | 执行2个时间片 |
| 9 | P3 | P2完成。此时队列情况如下:,Q2=> [P34,P52], Q3=> [P13],执行P3 | 执行2个时间片 |
| 11 | P5 | P3进入Q3队列,此时队列情况如下:Q2=> [P52], Q3=> [P13,P32],执行P5 | 执行2个时间片 |
| 13 | P1 | P5完成。Q2队列执行结束,执行Q3队列,此时队列情况如下: Q3=> [P13,P32],执行P1 | 执行4个时间片 |
| 16 | P3 | P1完成。此时队列情况如下: Q3=> [P32],执行P3 | 执行4个时间片 |
| 18 | P3 | P3完成。此时进程已全部结束,程序结束 | |
答案
| P1 | P2 | P3 | P4 | P5 |
|---|
| 完成时间 | 16 | 9 | 18 | 6 | 13 |
| 周转时间 | (16-0=)16 | (9-2=)7 | (18-4=)14 | (6-5=)1 | (13-6=)7 |
| 平均周转时间 | 9 | | |
完成时间: 在整个程序运行过程中,此进程服务完成的时间
周转时间 : 完成时间 - 到达时间
平均周转时间: 总周转时间 / 进程总数