Windows 7 使用的调度算法是什么?
答案1
自 NT 以来,Windows 一直使用循环技术,并采用多级反馈队列进行优先级调度,不过 Vista 进行了一些智能启发式改进,以确保某些进程(如磁盘碎片整理程序)处于较低优先级,以免干扰前台进程。据我所知,Windows 7 使用与 Vista 相同的调度程序,不过可能略有改进。
答案2
基于 Windows NT 的操作系统使用multilevel feedback queue
。因此,我认为 Windows 7 也必须使用相同的调度算法。Windows
Vista 中的调度程序经过修改,包含优先级调度程序,并使用现代处理器的周期计数器寄存器来跟踪线程执行的 CPU 周期数。
类似地,Windows 7 中可能也有一些改进。但算法可能相同。
答案3
用户模式调度 (UMS) 是一种轻量级机制,应用程序可以使用它来调度自己的线程。应用程序可以在用户模式下切换 UMS 线程,而无需系统调度程序的参与,并且如果 UMS 线程在内核中阻塞,则可以重新获得对处理器的控制权。UMS 线程与纤程的不同之处在于,每个 UMS 线程都有自己的线程上下文,而不是共享单个线程的线程上下文。在用户模式下切换线程的能力使 UMS 比线程池更高效,可以管理大量需要少量系统调用的短期工作项目。