操作系统 非抢先优先级调度

操作系统 非抢先优先级调度

在非抢先优先级调度中,进程根据其分配的优先级号进行调度。一旦进程得到调度,它会一直运行直到完成。通常,优先级号越低,进程的优先级越高。人们可能会对优先级号感到困惑,因此在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。由于此时没有其他进程到达,因此操作系统将立即调度它。

与此同时,P1的执行过程中,另外两个进程P2和P3到达。由于P3的优先级为3,因此CPU将优先执行P3而不是P2。

与此同时,P3的执行过程中,所有进程都可用于就绪队列。具有最低优先级编号的进程将获得优先级。由于P6的优先级编号为4,因此它将在P3之后立即执行。

在P6之后,P4是可用进程中优先级编号最低的进程;它将完整地执行。

由于所有作业都可用于就绪队列,因此所有作业将根据其优先级执行。如果两个作业具有相同的优先级编号,则将执行具有最早到达时间的那个作业。

操作系统 非抢先优先级调度

从准备的甘特图中,我们可以确定每个进程的完成时间。 这将确定周转时间、等待时间和响应时间。

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单位

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程