我被要求编写一个程序,一个C语言中的运行时调度算法的抽象。我遇到问题的是"优先级调度"。它需要来自用户的运行时算法,除了它也优先考虑这些过程。我遇到的麻烦是我无法将优先级与运行时联系起来。我如何在优先级和运行时之间建立关系?根据算法,它首先运行具有最高优先级的那个。我只需要知道如何建立这种连接,谢谢。
答案 0 :(得分:1)
编辑: -
将优先级存储在一个数组中,并根据优先级降低对数组进行排序,并根据它的时间映射每个优先级!然后,只需从开始显示已排序的数组,并将其与处理时间映射。
如果在运行时添加进程,则需要采用greedy-algorithm来解决该问题。以递增的传入时间顺序选择具有最高优先级的进程。
如果第一个进程当前正在运行,然后出现一个具有相同或更低优先级的新进程,那么您应该只将新进程添加到FIFO数据结构(队列)中,以便它被执行在下一个(优先级相同/更低)。
如果第一个进程当前正在运行,并且具有更高优先级的新进程到达并请求内存,则必须通过当前进程'即将到来的堆栈指令并执行更高优先级的进程,然后返回中断来执行即将发生的指令!
我希望你对DATA-STRUCTURES
感到困惑,以一种特殊的方式实施。此外,还有重要的优先权(更高)!