个性化阅读
专注于IT技术分析

带有进程的SRTF包含CPU和IO时间图解实例

到现在为止, 我们仅考虑CPU绑定作业。但是, 该线程可能需要一些IO操作或一些资源来完成其执行。在本示例中, 我们正在考虑IO绑定线程。

在示例中, 有四个作业ID为P1, P2, P3和P4的作业可用。下表列出了它们的到达时间和CPU突发时间。

线程编号 到达时间 (爆发时间, IO爆发时间, 爆发时间)
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。

带有进程的os SRTF包含CPU和IO时间
带有进程的os SRTF包含CPU和IO Time1

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

带有进程的os SRTF包含CPU和IO时间2

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

下图说明了时间1的线程和状态。线程P2进入等待状态, 此时CPU成为偶像。

带有进程的SRTF包含CPU和IO时间3

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

带有进程的os SRTF包含CPU和IO时间4
带有进程的os SRTF包含CPU和IO时间5

在时间3, 进程P3以5个单元的总CPU突发时间到达。由于P1的剩余突发时间短于P3, 因此CPU将继续执行。

带有进程的os SRTF包含CPU和IO时间6

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

带有进程的os SRTF包含CPU和IO时间7
带有进程的os SRTF包含CPU和IO时间8

由于P1是IO绑定的线程。在时间单元4, 它将从运行状态更改为等待状态。处理器可以自由执行其他作业。由于P2在4时刻也已可用, 因为它已经完成了IO操作, 并且现在还需要另外1个单位的CPU突发时间。 P3也可用, 并且需要5个单位的CPU总突发时间。

带有进程的os SRTF包含CPU和IO时间9

将执行可用进程中剩余的CPU突发时间最少的进程。在我们的情况下, 该线程为P2, 需要1单位的突发时间, 因此将给CPU。

带有进程的os SRTF包含CPU和IO时间10
带有进程的os SRTF包含CPU和IO时间11

在时间5, P2完成。 P1仍处于等待状态。此时, 唯一可用的进程是P3, 因此将分配给CPU。

带有进程的os SRTF包含CPU和IO时间12

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

带有进程的os SRTF包含CPU和IO时间13
带有进程的os SRTF包含CPU和IO时间14
带有进程的os SRTF包含CPU和IO时间15

在时间6, 线程P4到达就绪队列。 P1还完成了IO, 可用于执行。 P3尚未完成, 仍需要另外2个单位的CPU突发时间。

从时间6到时间8, 进程P3的扩孔CPU突发时间在可用进程中最少, 因此将为P3提供CPU。

带有进程的os SRTF包含CPU和IO时间16
带有进程的os SRTF包含CPU和IO时间17

P3需要一些IO操作才能完成其执行。在时间8, P3将其状态从运行更改为等待。 CPU可以自由执行其他进程。可以使用线程P4和P1, 其中将执行剩余突发时间最少的线程。

带有进程的os SRTF包含CPU和IO时间18

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

带有进程的os SRTF包含CPU和IO时间19
带有进程的os SRTF包含CPU和IO时间20

在时间9, 线程P3的IO已完成, 它现在将与就绪的P4一起在就绪状态下可用。为了完成其执行, 还需要另外2个单位的突发时间。此时, P1处于运行状态, 而没有任何线程处于等待状态。

带有进程的os SRTF包含CPU和IO时间21
带有进程的os SRTF包含CPU和IO时间22

从时间9到10, 由于进程P1的剩余CPU突发时间少于就绪队列中可用的进程P4和P3, 因此它将被执行。

带有进程的os SRTF包含CPU和IO时间23
带有进程的os SRTF包含CPU和IO时间24

在时间10, P1的执行完成, 现在CPU变成了偶像。在就绪进程中, CPU突发时间较短的进程将使CPU运转。

从时间10到12, 由于进程P3的剩余CPU突发时间是两个可用进程之间的时间, 因此它将执行到完成为止。它需要2个单位的CPU突发时间, 因为没有其他进程会到达就绪状态, 因此不会进行抢占, 并且会执行到完成为止。

带有进程的os SRTF包含CPU和IO时间25
带有进程的os SRTF包含CPU和IO时间26

在时间12, 进程P3将完成, 因为在就绪状态下只有一个进程P4可用, 因此将为P4提供CPU。

带有进程的os SRTF包含CPU和IO时间27

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

带有进程的os SRTF包含CPU和IO时间28

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

带有进程的os SRTF包含CPU和IO时间29
带有进程的os SRTF包含CPU和IO时间30

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

带有进程的os SRTF包含CPU和IO时间31

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

带有进程的os SRTF包含CPU和IO时间32

最终甘特图:

带有进程的os SRTF包含CPU和IO时间33
Process Id 到达时间 总CPU突发时间 Completion 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单位

赞(0)
未经允许不得转载:srcmini » 带有进程的SRTF包含CPU和IO时间图解实例
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!