【问题标题】:Homework - Preemptive Priority Scheduling作业 - 抢先优先级调度
【发布时间】:2012-11-22 18:52:37
【问题描述】:
处理突发时间到达时间优先级 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

大家好。我们被分配了一项关于抢占式优先级调度的任务,但考虑到两个或多个具有相同优先级编号的进程,我真的不知道该怎么做。

我必须制作甘特图,计算周转时间和平均等待时间。

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

感谢大家的帮助。

【问题讨论】:

  • 如果这是一个概念性问题,它会更适合Software Engineering 或可能 [theoretical.se]。

标签: process cpu scheduling


【解决方案1】:

首先:优先级相同的两个进程一般会按照到达时间排序:所以先到先得。

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

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

这包括:

  1. 到达与首次在 CPU 上调度之间的时间量
  2. 如果进程的执行时间比单个时间片长,那么您需要将所有关闭 CPU 所花费的时间相加
  3. 将这两个数量相加,您就有了流程的总等待时间
  4. 对每个过程重复步骤 1-3 并取平均值。

【讨论】:

  • 嗯。在我的示例中,P1 和 P3 的优先级为 1... P1 的到达时间为 0,但突发时间为 5。P3 的到达时间为 2,但突发时间为 2。P1 是否应该先完成所有 5 个单元,然后再去 P3 2个单位?还是 P1 先完成 1 个单元,然后让 P3 有 2 个单元,然后完成 4 个单元?
  • P1 将运行完成,因为 P3 具有相同的优先级。可以这样想:将军可以先于中尉,但中尉不能先于将军。最重要的是,所有中尉都是平等的,所以中尉 A 不能抢占中尉 B。
  •  好的,注意到了。谢谢。另一个问题。 P4和P5的情况如何。它们都具有相同的优先级编号和相同的到达时间。唯一的区别是它们的爆发时间。我该如何处理? :) 
  • P4 和 P5 对我来说听起来像是一个措辞不当的问题。在一个不会真正发生的单处理器系统上,因为这意味着同时发生两件事。撇开技术性不谈,发生的事情实际上取决于调度程序的策略。我建议最有可能的是 P4 将在 P5 之前执行,因为这是它们在问题中出现的顺序。同样,信息不足,无法得出结论
  • 我也是这么想的……虽然模棱两可,但我想我还是得按照它们出现的顺序来。
猜你喜欢
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
  • 2021-07-19
相关资源
最近更新 更多