【发布时间】: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