0

我正在尝试使用 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 循环查找集合中最小的突发时间?之后我将如何安排第三个过程?

4

1 回答 1

0

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

于 2013-03-24T11:06:38.203 回答