天天看點

上下文切換(Context Switch)

基本定義

上下文切換指的是CPU從一個程序(線程)切換到另一個程序(線程)。

​ 程序是正在執行的一個程式的執行個體,在Linux中,線程可以算作輕量級程序,線程可以并發執行,并且同一程序建立的線程可以共享同一片位址空間及其它資源,即該程序的程序位址空間及屬于該程序的其它資源。

上下文的切換流程

(1)挂起一個程序,将這個程序在CPU中的狀态(上下文資訊)存儲于記憶體的PCB中。 

(2)在PCB中檢索下一個程序的上下文并将其在CPU的寄存器中恢複。 

(3)跳轉到程式計數器所指向的位置(即跳轉到程序被中斷時的代碼行)并恢複該程序。