一旦产生线程,操作系统会将执行切换到偶像进程吗?

时间:2015-08-17 15:03:30

标签: linux multithreading operating-system multiprocessing

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

这个概念

一旦产生线程,操作系统就会将执行切换到偶像进程,以更改当前调用线程的优先级。 ??? 如果是,那么如果没有那么怎么样??????

1 个答案:

答案 0 :(得分:2)

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

"如何"基本如下:

  1. 操作系统进入保护模式并调用调度程序以查看是否还有另一个可立即运行的线程。

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

  3. 内核切换回用户空间,恢复其希望运行的线程的用户上下文。

  4. 某些操作系统为每个核心都有单独的可立即运行的线程池,以避免调度程序出现一个大锁定的问题。由于核心间同步,减慢了上下文切换。如果所有准备运行的线程都拥有"那么这样的操作系统实际上可能不会产生。通过其他核心,或者它可能会决定这种情况证明核心间同步是合理的,并检查其他核心是否“偷”"一个准备好运行的线程(或"交易"线程)。