程序的不同狀態是什麼?


程序是一個活動的程式。也可以說它是一個正在執行的程式。它不僅僅是程式程式碼,還包括程式計數器、程序堆疊、暫存器、程式程式碼等。相比之下,程式程式碼只是文字段。

程序在執行過程中會經歷不同的狀態。這些狀態在不同的作業系統中可能有所不同。但是,常見的程序狀態如下所述,並藉助圖表進行說明:

OS States

新建

這是程序剛剛建立時的狀態。它是程序生命週期中的初始狀態。

就緒

在就緒狀態下,程序正在等待由短期排程程式分配處理器,以便其能夠執行。此狀態緊隨程序的新建狀態之後。

就緒掛起

處於就緒掛起狀態的程序位於輔助儲存器中。它們最初位於主儲存器中的就緒狀態,但由於記憶體不足而被迫掛起並放置到輔助儲存器中。

執行

當程序的指令正在由處理器執行時,該程序被稱為處於執行狀態。一旦使用短期排程程式將程序分配給處理器,就會執行此操作。

阻塞

如果程序正在等待某些事件發生,則該程序處於阻塞狀態。此事件可能是 I/O,因為 I/O 事件在主儲存器中執行並且不需要處理器。事件完成後,程序再次進入就緒狀態。

阻塞掛起

這與就緒掛起類似。處於阻塞掛起狀態的程序位於輔助儲存器中。它們最初位於主儲存器中的阻塞狀態,等待某些事件,但由於記憶體不足而被迫掛起並放置到輔助儲存器中。如果程序的工作完成,它可能會從阻塞掛起狀態變為就緒掛起狀態。

終止

程序完成執行後終止。在終止狀態下,程序從主儲存器中刪除,其程序控制塊也已刪除。

更新於:2020年6月24日

14K+ 次檢視

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.