我正在尝试使用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循环查找该集的最小突发时间?之后我将如何安排第三个过程?
答案 0 :(得分:0)
您可以做的是,创建一个小于第一个突发时间的进程数组,然后对该数组进行排序。第一个结果是最小的突发时间。