我正在尝试通过xinu的默认调度策略来生成一个用于演示饥饿的测试用例:如果2个进程已准备好执行,那么优先级更高的运行并且进程具有与循环算法相同的优先级。
粗略的想法是创建具有不同优先级的2个进程。此创建将进程置于挂起状态。在此之后,我们调用进程1的resume sys调用,将其放入readylist调度队列,然后调用reschedule sys调用执行它。
由于xinu不能并行运行,只有在proc 1完成后,proc 2才会发生同样的情况。因此,我似乎无法弄清楚如何在xinu中展示饥饿。我知道它会发生,但我无法想办法解决这个问题。
任何帮助将不胜感激。 感谢
答案 0 :(得分:0)
您可以尝试让第一个进程运行无限循环。只要它的优先级高于第二个进程,第二个进程就不会有任何处理时间。