📅  最后修改于: 2020-12-14 03:32:37             🧑  作者: Mango
在非抢先优先级调度中,将根据分配给它们的优先级编号来调度进程。一旦安排好流程,它将一直运行到完成为止。通常,优先级数字越低,进程的优先级越高。人们可能会对优先级数字感到困惑,因此在GATE中,明确提到哪个优先级最高,哪个优先级最低。
在示例中,有7个过程P1,P2,P3,P4,P5,P6和P7。表中列出了它们的优先级,到达时间和突发时间。
Process ID | Priority | Arrival Time | Burst Time |
---|---|---|---|
1 | 2 | 0 | 3 |
2 | 6 | 2 | 5 |
3 | 3 | 1 | 4 |
4 | 5 | 4 | 2 |
5 | 7 | 6 | 9 |
6 | 4 | 5 | 4 |
7 | 10 | 7 | 10 |
我们可以根据非抢先优先级调度来准备甘特图。
进程P1到达时间0,突发时间为3个单位,优先级号为2。由于到目前为止还没有其他进程到达,因此OS将立即对其进行调度。
同时执行P1,又有两个过程P2和P3到达。由于P3的优先级为3,因此CPU将执行P3而不是P2。
同时执行P3,所有进程在就绪队列中可用。优先级编号最低的进程将被赋予优先级。由于P6的优先级编号分配为4,因此它将在P3之后执行。
在P6之后,P4在可用进程中的优先级编号最少;它会在整个突发时间内执行。
由于所有作业在就绪队列中均可用,因此所有作业将根据其优先级执行。如果为两个作业分配了相似的优先级编号,则将执行到达时间最少的作业。
从准备的GANTT图表中,我们可以确定每个过程的完成时间。确定周转时间,等待时间和响应时间。
Turn Around Time = Completion Time - Arrival Time
Waiting Time = Turn Around Time - Burst Time
Process Id | Priority | Arrival Time | Burst Time | Completion Time | Turnaround Time | Waiting Time | Response Time |
---|---|---|---|---|---|---|---|
1 | 2 | 0 | 3 | 3 | 3 | 0 | 0 |
2 | 6 | 2 | 5 | 18 | 16 | 11 | 13 |
3 | 3 | 1 | 4 | 7 | 6 | 2 | 3 |
4 | 5 | 4 | 2 | 13 | 9 | 7 | 11 |
5 | 7 | 6 | 9 | 27 | 21 | 12 | 18 |
6 | 4 | 5 | 4 | 11 | 6 | 2 | 7 |
7 | 10 | 7 | 10 | 37 | 30 | 18 | 27 |
平均等待时间=(0 + 11 + 2 + 7 + 12 + 2 + 18)/ 7 = 52/7单位