【问题标题】:Process starvation test case on XINUXINU上的进程饥饿测试用例
【发布时间】:2017-09-24 09:06:45
【问题描述】:

我正在尝试通过 xinu 的默认调度策略生成一个演示饥饿的测试用例。:如果有 2 个进程准备好执行,则具有更高优先级的进程会继续运行,并且进程的优先级与轮询算法相同。

粗略的想法是创建 2 个具有不同优先级的进程。这种创建使两个进程都处于挂起状态。在此之后,我们调用进程 1 的 resume sys 调用,将其放入就绪列表调度队列,然后调用 reschedule sys 调用来执行它。

由于 xinu 不能并行运行,只有在 proc 1 完成后,proc 2 才会发生同样的情况。因此,我似乎无法弄清楚如何在 xinu 中演示饥饿。我知道它会发生,但我很难想办法解决这个问题。

任何帮助将不胜感激。 谢谢

【问题讨论】:

    标签: operating-system scheduler priority-queue


    【解决方案1】:

    您可以尝试让第一个进程运行无限循环。只要它的优先级高于第二个进程,第二个就不会得到任何处理时间。

    【讨论】:

      猜你喜欢
      • 2021-06-25
      • 2017-12-15
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 2016-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多