我們都知道 Linux 是一個多任務(wù)操作系統(tǒng),它支持的任務(wù)同時運行的數(shù)量遠遠大于 CPU 的數(shù)量。當(dāng)然,這些任務(wù)實際上并不是同時運行的(Single CPU),而是因為系統(tǒng)在短時間內(nèi)將 CPU 輪流分配給任務(wù),造成了多個任務(wù)同時運行的假象。
CPU 上下文(CPU Context)在每個任務(wù)運行之前,CPU 需要知道在哪里加載和啟動任務(wù)。這意味著系統(tǒng)需要提前幫助設(shè)置 CPU 寄存器和程序計數(shù)器。
CPU 寄存器是內(nèi)置于 CPU 中的小型但速度極快的內(nèi)存。程序計數(shù)器用于存儲 CPU 正在執(zhí)行的或下一條要執(zhí)行指令的位置。
它們都是 CPU 在運行任何任務(wù)之前必須依賴的依賴環(huán)境,因此也被稱為 “CPU 上下文”。如下圖所示: