在循环调度算法中,当任务被拆分到多个时间量时,任务的当前状态是如何保持的



假设只有一个线程,在循环算法中,是什么让任务从刚刚运行到完成?

有没有某种监督机制来阻止这种情况的发生?

协作调度系统中,什么都没有。任务通常必须调用一些操作系统函数(显式yield或其他可能隐式生成的函数,如消息获取函数(。

抢占式调度系统中,它们(显然(被操作系统抢占,状态被保存,下一个任务被恢复并运行。

例如,Linux给每个线程一个100ms(来自内存(的量程。线程可以提前放弃它的量程(如果这样做的话,它通常会得到很好的处理(,但如果它使用了整个量程,它就会被操作系统强制暂停。

最新更新