0

我的任务是实施 FCFS、SJF 和 MLFQ。我目前正在尝试在 FCFS 上工作。我理解它是如何使用的算法。我坚持的部分是创建一个实现该算法的 C++ 程序。我得到了一个特定的 cpu 爆发,以及我必须实现的 I/O 时间。我有 8 个进程,每个进程都有多个 cpu 突发和 I/O 时间。看起来像这样。

P1 {4,24,5,73,3,31,5,27,4,33,6,43,4,64,5,19,2}
P2 {18,31,19,35,11,42,18,43,19,47,18,43,17,51,19,32,10}
P3 {6,18,4,21,7,19,4,16,5,29,7,21,8,22,6,24,5}
P4 {17,42,19,55,20,54,17,52,15,67,12,72,15,66,14}
P5 {5,81,4,82,5,71,3,61,5,62,4,51,3,77,4,61,3,42,5}
P6 {10,35,12,41,14,33,11,32,15,41,13,29,11}
P7 {21,51,23,53,24,61,22,31,21,43,20}
P8 {11,52,14,42,15,31,17,21,16,43,12,31,13,32,15}</code>

the order is cpu burst, i/o time, cpu burst, i/o, etc...

Here is how the output should be.

Current Time: 0

Now Running: P1

Ready Queue:   Process    Burst
                  P2        18
                  P3         6
                  P4        17
                  P5         5
                  P6        10
                  P7        21
                  P8        11
Now In I/O:    Process    Remaining time
                [empty]

Current Time: 4

Now running: P2

Ready queue:   Process    Burst
                P3          6
                P4          17
                P5          5
                P6          10
                P7          21
                P8          11

Now in I/O:    Process    Remaining time
                 P1         24

我在想我必须使用双向链表来实现这一点。该程序仅应仅在存在上下文切换时才输出此信息。我不确定我应该从哪里开始。唯一想到的就是创建一个结构或类。但我不太确定

4

0 回答 0