程序的狀態

2022-08-05 07:18:12 字數 940 閱讀 4450

程序是乙個動態的實體,所以它是有生命的,從建立到消亡,是乙個程序的整個生命週期。一般有三個狀態

1.就緒態  : 程序已經獲得所需的其他資源,正在申請處理器資源,準備開始執行,這種情況下,稱程序處於就緒態

2.阻塞態(休眠態或者等待態) 程序需要等待所需資源而放棄處理器,或者是程序不擁有處理器而且其他資源也沒有滿足,從而即使得到處理器也不能執行的狀態

3.執行態 程序得到了處理器,並不需要等待其他任何資源,正在執行的狀態,稱之為執行態,只有在執行態時,程序才可以使用所申請的資源

linux系統中,將各種狀態進行了重新組織,得到了5種狀態

(1)running :正在執行或者在就緒佇列中等待執行的程序,也就是上面提到的執行態和就緒態的綜合,乙個程序處於running並不代表他一定在被執行,由於在多工系統中,各個就緒程序需要併發執行,所以某個特定時刻,這些處於running狀態的程序中,只有乙個能得到處理器,而其他程序必須有乙個就緒佇列中等待,即使在多處理器的系統中,linux只能同時讓乙個處理器執行任務

(2)uninterruptable:不可中斷阻塞狀態,處於這種狀態的程序正在等待佇列中,當資源有效時,可以由作業系統喚醒,否則一直處於等待狀態

(3)interruptable:可中斷阻塞狀態,與不可中斷阻塞狀態一樣,處於這種狀態的程序在等待佇列中,當資源有效時,可以由作業系統進行喚醒,與不可中斷阻塞狀態區別是:處於此狀態中的程序也可以被其他程序所喚醒

(4)stopped:掛起狀態,程序被暫停,需要通過其它程序的訊號才能被喚醒,導致這種狀態的原因有兩個 1.受到相關訊號的反應  2.受到父程序ptrace呼叫的控制,而暫時將處理器交給控制程序

(5)zombie:殭屍狀態。表示程序結束但尚未消亡的一種狀態,此時程序已經結束執行並釋放掉大部分資源,但尚未釋放程序控制塊

程序的狀態

三態模型 在多道程式系統中,程序在處理器上交替執行,狀態也不斷地發生變化。程序一般有3種基本狀態 執行 就緒和阻塞。1 執行 當乙個程序在處理機上執行時,則稱該程序處於執行狀態。處於此狀態的程序的數目小於等於處理器的數目,對於單處理機系統,處於執行狀態的程序只有乙個。在沒有其他程序可以執行時 如所有...

程序的狀態

執行狀態 當乙個程序在處理機上執行時,則該程序處於執行狀態。處於次狀態的程序的數目小於等於處理器的數目,在單處理系統中,處於執行態的程序只有乙個。就緒狀態 當乙個程序獲得了除cpu以外的任何資源,一旦獲得cpu,便可立即執行,則該程序處於就緒狀態。乙個系統中處於就緒狀態的程序可能有多個,通常它們按優...

程序的狀態

程序是乙個動態的實體,所以它是有生命的,從建立到消亡,是乙個程序的整個生命週期。一般有三個狀態 1.就緒態 程序已經獲得所需的其他資源,正在申請處理器資源,準備開始執行,這種情況下,稱程序處於就緒態 2.阻塞態 休眠態或者等待態 程序需要等待所需資源而放棄處理器,或者是程序不擁有處理器而且其他資源也...