为什么上下文切换是一个昂贵的过程并且在什么方面昂贵?

Jea*_*Doe 6 operating-system context-switch

在我的操作系统课程中,考试需要了解的问题之一是“为什么上下文切换成本高昂?” 贵是什么意思,贵是什么意思?就执行任务所需的时间而言?

use*_*003 6

“为什么上下文切换很昂贵?” 贵是什么意思,贵是什么意思?就执行任务所需的时间而言?

上下文切换的开销有多种原因。

首先,保存上下文的步骤本身就需要付出很大的努力。所有进程寄存器都必须保存。这包括通用寄存器、进程状态寄存器以及某些系统上的专用寄存器(例如浮点)。

其次,恢复新进程的上下文同样耗时。

第三,必须为新进程刷新并重新加载内存缓存。

第四,确定下一步执行哪个进程会产生开销。

(可能还有一些我没有列出的其他内容)。

所有这一切都需要时间。