在c中实现调度算法的建议

莫汉·斯里拉玛·克里希纳 P

给定 n 个进程及其突发时间和到达时间,任务是使用 FCFS、循环、最短剩余时间等调度算法找到平均等待时间和平均周转时间,

我在选择数据结构来实现这些算法时非常困惑。我为每个属性使用了一个单独的数组来实现,但是它很乏味,我们需要在c中编写很多语句。我正在考虑一个链表,其中每个节点代表所有属性。它是一个有效的。你能给我建议一个有效的数据结构,以便搜索和排序更容易

布伦丹

首先,创建一个数据结构来包含每个进程的“在实践中不可能知道”的信息(启动时间、突发时间等),添加一个“进程状态”字段(以跟踪“未启动、启动或停止” ),并在结构中添加一个“下一个”字段;然后创建这些结构的数组并填写信息。

接下来创建一个通用函数来查找具有最早启动时间的“未启动”进程。

对于循环赛;找到启动时间最早的“未启动”进程,设置“当前时间=第一个进程启动时间”,并将进程的“next”字段设置为指向自身,这样你就有了一个条目的循环链表,并将进程状态从“未启动”更改为“已启动”。然后找出接下来发生的事件(另一个进程是否会在任务切换发生之前启动并添加到循环链表中?)并处理该事件(同时推进您的“当前时间”)。

对于 FCFS,它类似于循环法,除了在当前运行的任务停止之前您不必费心进行任务切换(并且可以使用非循环列表而不是循环列表)。

对于最短的剩余时间,它与 FCFS 相同,只是在启动进程时您使用“剩余时间”来确定将其插入列表的位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调度算法的实现

来自分类Dev

在C ++中实现堆算法

来自分类Dev

如何在SML中实现LPT(最长处理时间)调度算法功能

来自分类Dev

除数求和算法在C ++中的实现

来自分类Dev

Payne Hanek算法在C中的实现

来自分类Dev

在C中实现/执行环绕算法

来自分类Dev

通过C中的算法实现for循环

来自分类Dev

快速排序算法在c中的实现

来自分类Dev

JavaScript中Matrix的算法建议

来自分类Dev

Windows 7中使用的调度算法

来自分类Dev

速率单调调度算法中的假设?

来自分类Dev

C-SCAN磁盘调度算法

来自分类Dev

哪些数据结构和算法无法在C中实现?

来自分类Dev

如何在C ++中实现快速排序算法

来自分类Dev

在C ++中通过其伪代码实现算法

来自分类Dev

在C#中实现De Boor样条算法

来自分类Dev

如何在C#中复制PHP的PRNG算法实现?

来自分类Dev

如何在c中实现Laplace展开算法?

来自分类Dev

在C ++中实现井字游戏的Minimax算法

来自分类Dev

在C ++中通过其伪代码实现算法

来自分类Dev

C ++中的双重调度

来自分类Dev

如何在TSQL中实现后向调度

来自分类Dev

Dijkstra算法在Java中的实现

来自分类Dev

在Haskell中实现Prim算法

来自分类Dev

MIPS中的排序算法实现

来自分类Dev

Prim 算法在 Java 中的实现

来自分类Dev

c-实现插入算法

来自分类Dev

在bash shell中如何实现命令建议?

来自分类Dev

如何在输入字段中实现建议