当 CPU 切换到内核模式时,所有进程不应该被阻塞吗?

Shouldn't all processes get blocked when the CPU is switched to kernel mode?

当进程进行系统调用时,CPU会切换到内核模式,进程会被阻塞(因为如果进程不被阻塞,那么当CPU进入内核模式)。

但是所有进程不应该也被阻止吗?因为如果 CPU 切换到内核模式时,其他一些进程执行特权指令(例如:hlt)怎么办?

内核或用户模式是一个per-CPU属性,也就是说在同一时刻一个CPU可能在内核模式,而另一个CPU - 在用户模式

如您所见,没有什么可以阻止另一个 CPU 执行一个进程:特权指令仍然被禁止。