進程的三態模型
何謂進程?
- 進程是一個程序關於某個數據集的一次運行,是系統進行資源分配和調度的基本單位。
- 從靜態角度看,進程實體 = 進程控制塊(PCB)+ 程序段 + 數據段。
- 從動態角度看,進程是可併發運行程序在其數據集合上的運行過程。
進程的三種基本狀態
三種基本狀態
- 就緒狀態:進程已得到運行所需資源,只等待CPU的調度便可運行。(進程啥都有了,就看CPU爸爸選不選了(調度))
- 運行狀態:進程已得到運行所需資源,並且得到了CPU的調度。(進程被CPU爸爸選中了)
- 掛起:不具備運行條件、等待時機的狀態**(由於某些原因,CPU爸爸不會要你了)**
三種基本狀態之間的轉換
- 就緒>>>運行: 被調度程序選中
- 運行>>>就緒: 時間片到了(超時), 或被更高優先級的進程剝奪了
- 運行>>>掛起: 不具備運行條件,等待某一時間的發生
- 掛起>>>就緒: 等待的事件已發生, 具備了運行條件
- 在狀態轉換中, 不能 掛起>>>運行, 也不能 就緒>>>掛起