進程的三種基本狀態:spa
(1) 就緒狀態:進程已得到除CPU外的全部必要資源,只等待CPU時的狀態。一個系統會將多個處於就緒狀態的進程排成一個就緒隊列。操作系統
(2) 執行狀態:進程已獲CPU,正在執行。單處理機系統中,處於執行狀態的進程只一個;多處理機系統中,有多個處於執行狀態的進程。blog
(3) 阻塞狀態:正在執行的進程因爲某種緣由而暫時沒法繼續執行,便放棄處理機而處於暫停狀態,即進程執行受阻。(這種狀態又稱等待狀態或封鎖狀態)隊列
一般致使進程阻塞的典型事件有:請求I/O,申請緩衝空間等。進程
通常,將處於阻塞狀態的進程排成一個隊列,有的系統還根據阻塞緣由不一樣把這些阻塞集成排成多個隊列。事件
在一些系統中,進程還有一種很重要的狀態是:掛起狀態(是該進程暫時不接受調度)。資源
另外,在實際系統中,爲管理須要,還存在着兩種比較常見的狀態:建立狀態和終止狀態。請求
建立狀態:此時,進程已經擁有了字節的PCB,但該進程所必需的資源或其它信息(如主存資源)還沒有分配,進程自身還未進入主存,即建立工做還沒有完成,進程還不可以被調度運行。im
(建立進程的兩個步驟: 爲一個新進程建立PCB,並填寫必要管理信息;把該進程轉入就緒狀態並插入就緒隊列。)統計
終止狀態:進程的終止首先要等待操做系統進行善後處理,而後將其PCB清零,並將PCB空間返還系統。
(當一個進程到達天然結束點或出現了沒法克服的錯誤,或是被操做系統或其它有終止權的進程所終結,它將進入終止狀態。進入終止狀態的進程不能再執行,但在操做系統中依然保留一個記錄,其中保存狀態碼和一些計時統計數據,供其它進程收集。一旦其它進程完成了對終止狀態進程的信息提取以後,操做系統將刪除該進程。