最短作业下一步调度代码逻辑帮助BASH

时间:2013-03-24 05:28:58

标签: bash logic scheduling

我正在尝试使用bash编写代码来模拟下一个最短的作业或下一个最短的进程,并且我在掌握它背后的逻辑时遇到了一些麻烦。我从一个有进程名称,到达时间和突发时间的文件中读取。那么就说吧

A | 1 | 5

B | 2 | 3

C | 3 | 2

D | 4 | 4

E | 6 | 3

到目前为止,这是我的思想过程。我正在使用bash脚本,所以我将数据分成3个独立的数组。过程,到达和爆发。我创建了一个名为totaltime的第四个数组。实际上我知道这就是时间表应该是什么样的

| 1 |流程A | 5 |流程C | 7 |流程B | 10 |流程D | 14 |流程E | 17 |

我的代码逻辑首先检查到达阵列并找到最小值,该行对应于要调度的第一个进程。下一步检查哪些进程的到达时间小于第一进程的突发时间。在该组过程中找到最明智的突发时间。现在这就是我坚持的地方。我是否使用if语句检查哪个进程小于第一个突发时间,然后使用for循环查找该集的最小突发时间?之后我将如何安排第三个过程?

1 个答案:

答案 0 :(得分:0)

您可以做的是,创建一个小于第一个突发时间的进程数组,然后对该数组进行排序。第一个结果是最小的突发时间。