2016-12-28 127 views
0

在我的教科書中,上下文切換不僅僅意味着模式切換,因爲只有內核模式下才會運行線程。上下文切換意味着模式切換

這是真的,如果CPU在內核模式下運行的上下文切換隻能發生?

如果不是,爲什麼?類Unix的操作系統是否真的如此?

最後,這是真的,所有中斷只能由總是在內核模式下執行的中斷處理程序來處理?當CPU在用戶模式下執行,可能會發生

回答

1

中斷,陷阱和異常。它們通常會導致CPU切換到內核模式。這可能會部分或完全切換上下文。例如,x86 CPU的可具有任務(是的,在CPU內部的任務)專用於中斷和異常的處理,並且因此,如果這些都在使用中,可以有一個上下文切換,並從這些任務。

通常情況下,中斷在內核模式下運行的處理程序。但是,CPU和/或操作系統可能部分或全部以用戶模式處理它們。這取決於CPU和操作系統。