為什麼上下文切換會影響計算機的效能?
當一個程序被CPU暫停,而另一個程序開始執行時發生的上下文切換,可以影響計算機系統的效能,原因有幾個. 換個背景本身並不是很耗時的. 不同的程序有不同的虛擬記憶體地址空間, 因此係統中的所有快取都需要被取消和清理. 由於CPU的執行速度與主記憶體的指令和資料的提取速度有很大差異, 這些東西被快取在CPU附近的記憶體中. 甚至指向虛擬地址與實體地址的對映被快取, 當一個新的程序被CPU載入時, 具有不同的地址空間, 並將虛擬地址對映到實體地址, 快取中的所有資料都是無效的, 需要被沖洗. 這使得CPU有空的快取,必須從頭開始為新程序重建,這意味著檢索指令和資料將會有很大的減速,因為這些現在將來自主記憶體,這比CPU的快取要慢得多.