三级调度线程实现

时间:2011-12-26 20:58:39

标签: multithreading implementation scheduling

我正在尝试使用线程实现“三级调度”。简而言之,我想模拟三级调度。编程语言并不重要,欢迎任何建议。

1 个答案:

答案 0 :(得分:0)

内核内部 - 任何线程或进程 - 在I / O调用期间被典型的定时器输入或中断所中断。这将控制权转移回内核的调度程序。

切换线程由调度程序完成,调度程序决定下一个可运行的线程。

现在,如果你想模拟几乎这个 - 你需要让线程执行一些有限的任务并将自己挂钩等待一些信号量/互斥量。有某种主线程可以控制这些互斥锁/信号量。主线程以某种方式运行所需的算法来决定应该授予哪个线程访问权限。

唯一真正的区别在于,由于您的主线程本身位于用户空间而非内核内 - 因此它无法真正否决和/或抢占正在运行的线程。它只能控制有效完成任务分配的效率模拟(在行为良好的线程之间)。

这是如何思考问题的非常基本的第一步。请添加更多有关该主题的详细信息。修改你的问题以发展你的答案。