当前位置: 首页 > 知识库问答 >
问题:

家庭作业-抢占式优先调度

景俊良
2023-03-14
Process     Burst Time     Arrival Time     Priority
P1          5              0                1
P2          1              0                3
P3          2              2                1
P4          4              4                2
P5          2              4                2
P6          3              5                3
P7          4              5                3

嗨,伙计们。我们被分配了一个关于抢占优先调度的任务,我真的不知道如何做到这一点,因为两个或多个进程具有相同的优先级编号。

我必须做一个甘特图,计算周转时间和平均等待时间。

如果可能的话,你们能否发布一个关于如何做到这一点的分步解决方案,以便我可以研究它是如何完成的。

谢谢你们的帮助。

共有1个答案

萧辰沛
2023-03-14

首先:具有相同优先级的两个进程一般会根据它们的到达时间进行排序:所以先到先得。

周转时间:一般指过程产生输出所需的时间量。您的课程可能使用不同或更简单的定义来使您的计算更容易。据我所知,您可能被要求计算每个过程完成所需的时间量。这等于:finish_time-time_first_scheduled_on_CPU(而不是finish_time-arrival_time)。

平均等待时间:根据您开发的甘特图,该甘特图准确显示了进程在 CPU 上的时间和时间,您可以计算每个进程等待进入 CPU 的总时间。

这包括:

  1. 从到达到首次在 CPU 上调度之间的时间量
  2. 如果进程的执行时间比单个量程长,则需要对 CPU 花费的所有时间求和
  3. 将两个数量相加,您就有了该过程的总等待时间
  4. 对每个过程重复步骤 1-3 并取平均值。
 类似资料:
  • 假设我有两个进程等待使用抢先最短作业优先(SJF)执行。 在 Time = 2 时,两个进程的突发时间相同,即 3。SJF 排序会运行进程 2,因为它具有更高的初始突发时间,还是会运行进程,因为它们的突发时间当前相同? 谢谢:)

  • 在非先占优先级调度中,进程根据分配给它们的优先级编号进行调度。 一旦进程被安排好了,它就会运行直到完成。 通常,优先级数越低,进程的优先级越高。 人们可能会对优先级数字感到困惑,因此在GATE中,明确提到哪一个是最高优先级,哪一个是最低优先级。 示例 在例子中,有7个进程:,,,,,和。 它们的优先级,到达时间和爆发时间在表中给出。 进程ID 优先级 到达时间 爆发时间 1 2 0 3 2 6 2

  • 最短作业优先算法如下图所示: 如果首先是最短的作业/其次是最短的流程,那么顺序不应该是:P1 → P5 → P3 → P4 → P2吗?因为这是服务时间从低到高的顺序。< br >为什么进程2排在第二位? 我知道如果我们改用突发时间,那将是顺序,但我不知道服务时间和突发时间有什么区别。 任何有助于解释该图形的帮助都将不胜感激。

  • 在抢占式优先级调度中,在进程到达就绪队列时,其优先级与就绪队列中存在的其他进程的优先级以及CPU在该点执行的优先级进行比较。 在所有可用的进程中具有最高优先级的那个将被赋予CPU。 抢先优先级调度和非抢占优先级调度之间的区别在于,在抢先优先级调度中,正在执行的作业可以在更高优先级作业到达时停止。 一旦所有作业在就绪队列中可用,算法将表现为非抢占式优先级调度,这意味着计划的作业将运行直至完成并且不会

  • Google和Stackoverflow上有很多关于优先级抢占式调度的资料,但是我仍然对优先级抢占式调度内核中无限循环任务的调度感到困惑。让我们考虑以下情况: RTOS启动两个任务< code>T1和< code>T2,优先级分别为< code>50和< code>100。这两项任务看起来都像: 和 据我所知,内核会因为其较高的优先级而调度并因为其较低的优先级而挂起。现在因为是一个无限循环,它永远

  • 给定下表,用于计算基于优先级的抢占式调度的流程和平均等待时间。 甘特图如下: 我有以下问题: 1) 周转时间是否 = 19 个单位? 2)如何计算平均等待时间?有公式吗? 3)如果很少有进程具有相同的优先级,该怎么办? 我是操作系统的新手。我看过其他一些类似的问题,但我不知道该怎么做。