巧妙地利用了時間片輪轉的方式,CPU 給每個任務都服務一定的時間,然後把當前任務的狀態保存下來,在加載下一任務的狀態後,然後服務下一任務,任務的狀態保存及再加載,這段過程叫做上下文切換。
時間片輪轉的方式使多個任務在同一顆 CPU 上執行變成了可能。
1.進程
(有時候也稱做任務)是指一個程序運行的實例。
在 Linux 系統中,線程就是能並行運行並且與他們的父進程(創建他們的進程)共享同一地址空間(一段內存區域)和其他資源的輕量級的進程。
2.上下文
是指某一時間點 CPU 寄存器和程序計數器的內容。
3.寄存器
是 CPU 內部的數量較少但是速度很快的內存(與之對應的是 CPU 外部相對較慢的 RAM 主內存)。寄存器通過對常用值(通常是運算的中間值)的快速訪問來提高計算機程序運行的速度。
4.程序計數器
是一個專用的寄存器,用於表明指令序列中 CPU 正在執行的位置,存的值爲正在執行的指令的位置或者下一個將要被執行的指令的位置,具體依賴於特定的系統。