作業系統 程序的三種狀態及其轉換

2021-07-14 00:01:34 字數 1522 閱讀 6407

第一部分:

1.程序的三種基本狀態

程序在執行中不斷地改變其執行狀態。通常,乙個執行程序必須具有以下三種基本狀態。

(1)就緒(ready)狀態

當程序已分配到除cpu以外的所有必要的資源,只要獲得處理機便可立即執行,這時的程序狀態稱為就緒狀態。

(2)執行(running)狀態當程序已獲得處理機,其程式正在處理機上執行,此時的程序狀態稱為執行狀態。

(3)阻塞(blocked)狀態正在執行的程序,由於等待某個事件發生而無法執行時,便放棄處理機而處於阻塞狀態。引起程序阻塞的事件可有多種,例如,等待i/o完成、申請緩衝區不能滿足、等待信件(訊號)等。

2.程序三種狀態間的轉換

程序狀態變遷圖

乙個程序在執行期間,不斷地從一種狀態轉換到另一種狀態,它可以多次處於就緒狀態和執行狀態,也可以多次處於阻塞狀態。圖3_4描述了程序的三種基本狀態及其轉換。

(1) 就緒→執行處於就緒狀態的程序,當程序排程程式為之分配了處理機後,該程序便由就緒狀態轉變成執行狀態。

(2) 執行→就緒處於執行狀態的程序在其執行過程中,因分配給它的乙個時間片已用完而不得不讓出處理機,於是程序從執行狀態轉變成就緒狀態。

(3) 執行→阻塞正在執行的程序因等待某種事件發生而無法繼續執行時,便從執行狀態變成阻塞狀態。

(4) 阻塞→就緒處於阻塞狀態的程序,若其等待的事件已經發生,於是程序由阻塞狀態轉變為就緒狀態。

第二部分:

1.程序的基本狀態

(1)執行狀態(running):程序占用處理機,程序的程式正在執行。單處理機系統中只能有乙個程序處於執行狀態,多處理機系統中可能有多個程序處於執行狀態。

(2)阻塞狀態(blocked):也叫等待或睡眠狀態,是程序由於等待某種事件的發生而處於暫停執行的狀態。如程序因等待i/o的完成、等待緩衝空間等。

(3)就緒狀態(ready):程序已分配到處理機以外的所有必要資源,具備了執行的所有條件。可能會有多個程序處於就緒狀態,排成就緒佇列。

2.新狀態和終止狀態

(1) 新狀態:程序剛剛建立,還沒有送入就緒佇列的狀態。

(2) 終止狀態:乙個程序已正常結束或非正常結束,os已將它從就緒佇列中移出,還未將它撤銷時的狀態。

3. 程序狀態的轉換

程序在執行期間可以多次處於就緒狀態和執行狀態,也可多次處於阻塞狀態,但處於新狀態只有一次。

(1)新狀態->就緒狀態:當就緒佇列允許接納新程序時,系統便把處於新狀態的程序移入就緒佇列。

(2)就緒態->執行狀態:程序排程程式為處於就緒狀態的程序分配處理機後,該程序進入執行狀態。

(3)執行態->阻塞狀態:正在執行的程序因需要等待某事件而無法執行。

(4)阻塞狀態->就緒態:程序所等待的事件發生了,程序就從阻塞狀態進入就緒狀態。

(5)執行態->就緒狀態:正在執行的程序因時間片用完而被暫停執行;或者在可搶占排程方式中,乙個優先權高的程序到來後,正在執行的低優先權的程序被強制撤下處理機,轉換為就緒狀態。

(6)執行態->終止狀態:乙個程序已完成或發生某種特殊事件,程序將變為終止狀態。

作業系統 程序的三種狀態

1.就緒狀態 程序獲得了除了cpu之外的所有的必要資源,只要獲得cpu就可以立即執行,此時的程序處於就緒態。2.執行狀態 程序已經獲得cpu,正在執行,在多處理其系統中,會有多個程序同時處於執行狀態。3.阻塞狀態 處於執行狀態的程序由於發生某些事件而暫時無法繼續執行,放棄處理機而處於暫停狀態,此時程...

程序的三種基本狀態及其轉換

1 就緒狀態 程序已獲得除cpu外的所有必要資源,只等待cpu時的狀態。乙個系統會將多個處於就緒狀態的程序排成乙個就緒佇列。2 執行狀態 程序已獲cpu,正在執行。單處理機系統中,處於執行狀態的程序只乙個 多處理機系統中,有多個處於執行狀態的程序。3 阻塞狀態 正在執行的程序由於某種原因而暫時無法繼...

作業系統中程序的五種基本狀態及其轉換

建立狀態 new 程序在建立時需要申請乙個空白pcb,向其中填寫控制和管理程序的資訊,完成資源分配。如果建立工作無法完成,比如資源無法滿足,就無法被排程執行,把此時程序所處狀態稱為建立狀態 就緒狀態 ready 程序已經準備好,已分配到所需資源,只要分配到cpu就能夠立即執行 執行狀態 runnin...