一旦线程被释放,操作系统将切换到偶像进程执行



我是操作系统新手,所以我不能理解这个概念

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

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

"how"基本如下:

  1. 操作系统进入保护模式并调用调度器查看是否有另一个准备运行的线程

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

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

一些操作系统为每个核心提供单独的准备运行线程池,以避免调度器拥有"一个大锁",由于内核间同步而减慢上下文切换。如果所有准备运行的线程都被其他内核"拥有",这样的操作系统可能实际上不会让步,或者它可能认为这种情况证明了核间同步是合理的,并检查其他内核以"窃取"一个准备运行的线程(或"交易"线程)。

最新更新