【发布时间】:2016-02-08 22:54:47
【问题描述】:
我目前正在学习 CPU 调度,并对 Windows 10 的调度细节感到好奇。据我所知,循环调度与不同级别的优先级一起使用,但是我在哪里可以找到每个优先级的具体时间量子数和具体的上下文切换时间?这个时间是由所有机器的内核决定的,还是因硬件而异?如果它是基于硬件的,我可以找出这些值在我自己的机器上是什么吗?
【问题讨论】:
-
这比只有一个队列的优先循环法要复杂得多。请记住,进程可能会在很多时候将执行返回给操作系统,并且执行继续的原因有很多。然后是很多 SMP 处理器、负载场景,更重要的是,还有时序情况和不同的程序。
-
微软是否提供了任何文档,他们的操作系统如何处理所有这些,或者这是否对公众不可用?
-
我只是认为没有任何文档可以描述您期望找到的内容——Windows,作为在通用平台上执行内容的非实时操作系统 无法制作 任何关于时间的保证,以及在进程之间切换需要多少时间是完全不确定的,并且取决于硬件。
标签: windows multithreading operating-system scheduling context-switching