一旦线程被让出,操作系统会切换到偶像进程执行吗?

Once the thread is yielded, Operating system will switch execution to an idol process?

我是操作系统的新手,所以我无法理解

这个概念

一旦线程被让出,操作系统将执行切换到偶像进程以改变当前调用线程的优先级。 ??? 如果是那么如何如果不是那么如何??????

当一个线程让步时,操作系统可能会将该核心用于运行任何它认为应该运行的线程(来自同一进程或其他进程)运行。它也可能立即切换回产生线程,即使还有其他准备就绪的线程运行,因为否则可能需要昂贵的内核间同步。

"how"基本如下:

  1. OS 进入保护模式并调用调度程序以查看是否有另一个准备就绪的 运行 线程。

  2. 如果有,则进行上下文切换,将要恢复的用户上下文切换到新线程的上下文,并存储旧线程的上下文。

  3. 内核切换回用户space,将它希望的线程的用户上下文恢复到运行。

一些 OSes 为每个内核提供了单独的准备就绪 运行 线程池,以避免调度程序 "one big lock" 由于内核间同步而减慢上下文切换.如果所有准备就绪的 运行 线程都被其他内核 "owned",这样的 OS 可能实际上不会产生,或者它可能决定这种情况证明内核间同步是合理的并检查其他内核"steal" 准备好 运行 线程(或 "trade" 线程)。