假设我们有一个20核心的CPU和一个具有20个CPU密集型且互不干扰的线程的进程:每个CPU核心一个线程。我正在尝试弄清楚在这种情况下是否会发生上下文切换。我认为会发生上下文切换,因为操作系统中有需要CPU时间的系统进程。
我知道有不同的CPU架构,某些答案可能会有所不同,但您能否请解释:
我知道有不同的CPU架构,某些答案可能会有所不同,但您能否请解释:
- 上下文切换如何发生,例如在Linux或Windows以及一些已知的CPU架构上?现代硬件下会发生什么?
- 如果我们有10个核心和20个线程,或者反过来呢?
- 如何计算如果我们有n个CPU,则需要多少线程?
- 上下文切换后,CPU缓存(L1 / L2)是否被清空?