首頁 >常見問題 >一個進程被喚醒意味著什麼

一個進程被喚醒意味著什麼

青灯夜游
青灯夜游原創
2022-07-08 16:50:389988瀏覽

一個行程被喚醒意味著進程變成就緒狀態。進程狀態反映進程執行過程的變化,進程被喚醒就是啟動這個進程,意味著它變成就緒狀態,也表示該進程具備運行條件,等待系統分配處理器以便運行;但進入就緒狀態後並不馬上移至就緒隊列隊首,而是在隊尾參加排隊。

一個進程被喚醒意味著什麼

本教學操作環境:windows7系統、Dell G3電腦。

一個行程被喚醒意味著進程變成就緒狀態。

流程:並發執行的程式在執行過程中指派和管理資源的基本單位。

進程狀態反映進程執行過程的變更。這些狀態隨著進程的執行和外界條件的變化而轉換。

  • 在三態模型中,進程狀態分為三個基本狀態,即運行態,就緒態,阻塞態。

  • 在五態模型中,行程分為新態、終止態,運行態,就緒態,阻塞態。

三態模型

#一個程序從創建而產生至撤銷而消亡的整個生命期間,有時佔有處理器執行,有時雖可運行但分不到處理器、有時雖有空閒處理器但因等待某個事件的發生而無法執行,這一切都說明進程和程序不相同,它是活動的且有狀態變化的,這可以用一組狀態加以刻畫。為了方便管理進程,一般來說,依照進程在執行過程中的不同情況至少要定義三種不同的進程狀態: 

(1)運行(running)態:進程佔有處理器正在運作。

(2)就緒(ready)態:進程具備運作條件,等待系統分配處理器以便運作。

(3)等待(wait)態:又稱為阻塞(blocked)態或睡眠(sleep)態,指進程不具備運作條件,正在等待某個事件的完成。

通常,一個行程在建立後將處於就緒狀態。每個行程在執行過程中,任意時刻當且僅當處於上述三種狀態之一。同時,在一個行程執行過程中,它的狀態將會改變。造成進程狀態轉換的具體原因如下:

(1)運行態一一等待態:等待使用資源或某事件發生,如等待外設傳輸;等待人工幹預。

(2)等待態一一就緒態:資源滿足或某事件己經發生,如周邊傳輸結束;人工幹預完成。

(3)運行態一一就緒態:運行時間片到,或出現有更高優先權進程。

(4)就緒態一一運行態:CPU空閒時被調度選取一個就緒程序執行。

五態模型

在一個實際的系統裡進程的狀態及其轉換比上節敘述的複雜一些,例如,引入專門的新態(new)和終止態(exit )。

引入新態和終止態對於行程管理來說是非常有用的。新建態對應於行程剛被建立的狀態,建立1個行程要經過兩個步驟,首先,是為一個新行程建立必要的管理資訊;然後,讓這個行程進入就緒態。此時進程將處於新狀態,它並沒有被提交執行,而是在等待作業系統完成創建進程的必要操作。必須指出的是,作業系統有時會根據系統效能或主存容量的限制推遲新態進程的提交。

類似地,行程的終止也要經過兩個步驟,首先,是等待作業系統進行善後;然後,退出主記憶體。當一個行程到達了自然結束點,或是出現了無法克服的錯誤,或是被作業系統所終結,或是被其他有終止權的程序所終結,它將進入終止態。進入終止態的程序以後不再執行,但仍保留在作業系統中等待善後。一旦其他進程完成了對終止態進程的資訊抽取之後,作業系統將刪除該進程。造成進程狀態轉換的具體原因如下:

(1)NULL一一新建態:執行1個程序,建立一個子進程。

(2)新態一一就緒態:當作業系統完成了進程建立的必要操作,並且目前系統的效能和記憶體的容量均允許。

(3)運行態一一終止態:當1個行程到達了自然結束點,或是出現了無法克服的錯誤,或是被作業系統所終結,或是被其他有終止權的進程所終結。

(4)終止態一一NULL:完成善後運算。

(5)就緒態一一終止態:未在狀態轉換圖中顯示,但某些作業系統允許父行程終結子行程。

(6)等待態一一終止態:未在狀態轉換圖中顯示,但某些作業系統允許父行程終結子行程。

更多相關知識,請造訪常見問題欄位!

以上是一個進程被喚醒意味著什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn