我正在尝试使用 bash 编写代码来模拟下一个最短作业或下一个最短进程,但我在掌握其背后的逻辑时遇到了一些麻烦。我从具有进程名称、到达时间和突发时间的文件中读取。所以说
一个 | 1 | 5
乙| 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|
我的代码逻辑是首先检查到达数组并找到最小值,并且该行对应于要调度的第一个进程。Next 检查哪些进程的到达时间小于第一个进程的突发时间。在这组流程中找到最智能的突发时间。现在这就是我坚持的地方。我是否使用 if 语句来检查哪些进程小于第一次突发时间,然后使用 for 循环查找集合中最小的突发时间?之后我将如何安排第三个过程?