上下文切换意味着模式切换

时间:2016-12-28 10:19:08

标签: unix operating-system kernel

在我的教科书中,context-switch并不仅仅意味着模式切换,因为有些线程只能在内核模式下运行。

只有当cpu在内核模式下运行时才会发生上下文切换吗?

如果没有,为什么?对于类Unix操作系统是否属实?

最后,所有中断只能由始终在内核模式下执行的中断处理程序处理吗?

1 个答案:

答案 0 :(得分:1)

CPU在用户模式下执行时,可能会发生中断,陷阱和异常。它们通常会导致CPU切换到内核模式。这可能会部分或完全切换上下文。例如,x86 CPU可能具有专用于处理中断和异常的任务(是的,CPU内部的任务),因此如果正在使用这些任务,则可以在这些任务之间进行上下文切换。

通常,中断处理程序在内核模式下运行。然而,CPU和/或OS可以部分地或完全地以用户模式处理它们。这取决于CPU和操作系统。