程序的狀態

2021-09-07 11:17:57 字數 1724 閱讀 8946

三態模型:在多道程式系統中,程序在處理器上交替執行,狀態也不斷地發生變化。程序一般有3種基本狀態:執行、就緒和阻塞。

(1)執行:當乙個程序在處理機上執行時,則稱該程序處於執行狀態。處於此狀態的程序的數目小於等於處理器的數目,對於單處理機系統,處於執行狀態的程序只有乙個。

在沒有其他程序可以執行時(如所有程序都在阻塞狀態),通常會自動執行系統的空閒程序。

(2)就緒:當乙個程序獲得了除處理機以外的一切所需資源,一旦得到處理機即可執行,則稱此程序處於就緒狀態。就緒程序可以按多個優先順序來劃分佇列。

例如,當乙個程序由於時間片用完而進入就緒狀態時,排入低優先順序佇列;當程序由i/o操作完成而進入就緒狀態時,排入高優先順序佇列。

(3)阻塞:也稱為等待或睡眠狀態,乙個程序正在等待某一事件發生(例如請求i/o而等待i/o完成等)而暫時停止執行,這時即使把處理機分配給程序也無法執行,故稱該程序處於阻塞狀態。

**:

五態模型:對於乙個實際的系統,程序的狀態及其轉換更為複雜。引入新建態終止態構成了程序的五態模型。

新建態: 對應於程序剛剛被建立時沒有被提交的狀態,並等待系統完成建立程序的所有必要資訊。 程序正在建立過程中,還不能執行。

作業系統在建立狀態要進行的工作包括分配和建立程序控制塊表項、建立資源**(如開啟檔案表)並分配資源、引導程式並建立位址空間表等。

建立程序時分為兩個階段,第乙個階段為乙個新程序建立必要的管理資訊,第二個階段讓該程序進入就緒狀態。

由於有了新建態,作業系統往往可以根據系統的效能和主存容量的限制推遲新建態程序的提交。

終止態:程序已結束執行,**除程序控制塊之外的其他資源,並讓其他程序從程序控制塊中收集有關資訊(如記帳和將退出**傳遞給父程序)。

類似的,程序的終止也可分為兩個階段,第乙個階段等待作業系統進行善後處理,第二個階段釋放主存。

由於程序的不斷建立,系統資源特別是主存資源已不能滿足所有程序執行的要求。這時,就必須將某些程序掛起,放到磁碟對換區,暫時不參加排程,以平衡系統負載;

程序掛起的原因可能是系統故障,或者是使用者除錯程式,也可能是需要檢查問題。

活躍就緒是指程序在主存並且可被排程的狀態。

靜止就緒(掛起就緒):是指程序被對換到輔存時的就緒狀態,是不能被直接排程的狀態,只有當主存中沒有活躍就緒態程序,或者是掛起就緒態程序具有更高的優先順序,系統將把掛起就緒態程序調回主存並轉換為活躍就緒。

活躍阻塞是指程序已在主存,一旦等待的事件產生便進入活躍就緒狀態。

靜止阻塞是指程序對換到輔存時的阻塞狀態,一旦等待的事件產生便進入靜止就緒狀態。

程序的狀態

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

程序的狀態

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

程序的狀態

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