操作系统 SRTF与进程中包含CPU和IO时间

操作系统 SRTF与进程中包含CPU和IO时间

到目前为止,我们只考虑了CPU密集型作业。然而,进程可能需要一些IO操作或一些资源来完成其执行。在这个示例中,我们考虑了IO密集型进程。

在示例中,有四个作业,其进程ID为P1、P2、P3和P4。它们的到达时间和CPU爆破时间在下表中给出。

Process Id Arrival Time (Burst Time, IO Burst Time, Burst Time)
1 0 (3,2,2)
2 0 (1,3,1)
3 3 (3,1,2)
4 6 (5,4,5)

甘特图准备

在时间0时,进程P1和P2到达。由于我们使用的算法是SRTF,因此CPU将调度具有最短执行时间的进程。在此情况下,是P2进程。

操作系统 SRTF与进程中包含CPU和IO时间

从时间0到时间1,P2将处于运行状态。

操作系统 SRTF与进程中包含CPU和IO时间

P2还需要一些IO时间才能完成执行。执行1个单位后,P2的状态将从运行变为等待。处理器变为空闲以执行其他作业。由于此时除了P1之外没有其他可用的进程,所以P1将被执行。

以下图表显示了时间1处的进程和状态。进程P2进入等待状态,此时CPU处于闲置状态。

操作系统 SRTF与进程中包含CPU和IO时间

从时间1到时间3,由于P2处于等待状态,并且就绪队列中没有其他可用进程,因此在这段时间内只有可用的进程P1将被执行。

操作系统 SRTF与进程中包含CPU和IO时间

在时间3时,进程P3到达,总的CPU执行时间为5个单位。由于P1的剩余执行时间比P3少,因此CPU将继续执行P1。

操作系统 SRTF与进程中包含CPU和IO时间

因此,P1将在时间3到时间4保持运行状态。

操作系统 SRTF与进程中包含CPU和IO时间

由于P1是一个I/O绑定的进程。在时间单位4,它将从运行状态转变为等待状态。处理器变为空闲以执行其他作业。由于P2在时间4也变得可用,因为它已完成I/O操作,现在需要另外1个单位的CPU突发时间。P3也可用,需要总共5个单位的CPU突发时间。

操作系统 SRTF与进程中包含CPU和IO时间

具有最少剩余CPU突发时间的可用进程将被执行。在我们的情况下,这样的进程是P2,它需要1个单位的突发时间,因此它将获得CPU。

操作系统 SRTF与进程中包含CPU和IO时间

在时间点5,P2已经完成。P1仍处于等待状态。此时,唯一可用的进程是P3,因此它将获得CPU。

操作系统 SRTF与进程中包含CPU和IO时间

从时间5到时间6,P3将处于运行状态;同时,P1仍然处于等待状态。

操作系统 SRTF与进程中包含CPU和IO时间

在时间6,进程P4进入就绪队列。进程P1也已完成IO,并可执行。进程P3尚未完成,并且仍需另外2个单位的CPU运行时间。

从时间6到时间8,可用进程中,进程P3的剩余CPU运行时间最少,因此将给予P3使用CPU。

操作系统 SRTF与进程中包含CPU和IO时间

P3 需要进行一些IO操作才能完成其执行。在时间8时,P3 的状态将从运行中转变为等待状态。CPU 变为空闲以执行其他进程。P4 和 P1 进程均可用,其中剩余执行时间最少的进程将被执行。

操作系统 SRTF与进程中包含CPU和IO时间

从时间8到时间9,流程P1将被执行。

操作系统 SRTF与进程中包含CPU和IO时间

在时间9,进程P3的IO已经完成,现在它将可以与已经等待其轮到的P4一起处于就绪状态。为了完成其执行,它需要另外2个时间单位的执行时间。在此时刻,P1处于运行状态,而等待状态中没有进程存在。

操作系统 SRTF与进程中包含CPU和IO时间

从9点到10点,进程P1将被执行,因为它的剩余CPU执行时间比就绪队列中可用的进程P4和P3要短。

操作系统 SRTF与进程中包含CPU和IO时间

在时间10,P1的执行完成,现在CPU变成空闲状态。在就绪进程中,CPU使用最少的CPU执行时间的进程将获得CPU的使用权。

从时间10到12,进程P3将被执行直到完成,这是因为它的剩余CPU执行时间处于两个可用进程之间。它还需要额外的2个单位的CPU执行时间,因为没有其他进程将到达就绪状态,所以不会发生抢占,它将被执行直到完成。

操作系统 SRTF与进程中包含CPU和IO时间

在时间12,进程P3将完成,因为只有一个进程P4处于准备状态,因此P4将被分配到CPU。

操作系统 SRTF与进程中包含CPU和IO时间

P4需要在进行IO之前的5个CPU burst时间单位,因此它将在时间17之前执行(执行5个单位),然后将其状态从运行状态更改为等待状态。

操作系统 SRTF与进程中包含CPU和IO时间

在时间17时,进程P4将其状态从运行更改为等待。由于这是系统中唯一的进程,因此CPU将保持空闲,直到P4再次可用。

操作系统 SRTF与进程中包含CPU和IO时间

在时间21,P4将完成IO操作并变为就绪状态可用。

操作系统 SRTF与进程中包含CPU和IO时间

从时间21开始,进程P4将得到调度。由于没有其他进程在就绪队列中,因此处理器没有任何选择。它将执行直到完成。

操作系统 SRTF与进程中包含CPU和IO时间

最终甘特图

操作系统 SRTF与进程中包含CPU和IO时间

Process Id Arrival Time Total CPU Burst Time Completion Time Turn Around Time Waiting Time
1 0 5 10 10 5
2 0 2 5 5 3
3 3 5 12 9 4
4 6 10 26 20 10

平均等待时间 = (5+3+4+10)/4 = 22/4个单位

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程