1

如果需要在多核处理器机器的多个内核上并行执行,Linux 内核是否会同时执行多个上下文切换?有什么参考吗?

4

1 回答 1

-1

是啊,你说得对。在 SMP 系统上,多个上下文切换同时发生。每个核心都可以独立进行上下文切换。当然,如果需要,还需要 spinlock_* 来保护临界区。

也许你想知道一个核心什么时候决定做上下文切换,有几种情况:

(1) 发生中断;

(2) 出现异常;

(3) 用户进程系统调用;

(4) 在内核空间(不是中断/异常上下文),也有调用schedule()的代码放弃CPU;

(5) ...;

于 2013-05-30T02:32:35.100 回答