程序的不同狀態是什麼?
程序是一個活動的程式。也可以說它是一個正在執行的程式。它不僅僅是程式程式碼,還包括程式計數器、程序堆疊、暫存器、程式程式碼等。相比之下,程式程式碼只是文字段。
程序在執行過程中會經歷不同的狀態。這些狀態在不同的作業系統中可能有所不同。但是,常見的程序狀態如下所述,並藉助圖表進行說明:
新建
這是程序剛剛建立時的狀態。它是程序生命週期中的初始狀態。
就緒
在就緒狀態下,程序正在等待由短期排程程式分配處理器,以便其能夠執行。此狀態緊隨程序的新建狀態之後。
就緒掛起
處於就緒掛起狀態的程序位於輔助儲存器中。它們最初位於主儲存器中的就緒狀態,但由於記憶體不足而被迫掛起並放置到輔助儲存器中。
執行
當程序的指令正在由處理器執行時,該程序被稱為處於執行狀態。一旦使用短期排程程式將程序分配給處理器,就會執行此操作。
阻塞
如果程序正在等待某些事件發生,則該程序處於阻塞狀態。此事件可能是 I/O,因為 I/O 事件在主儲存器中執行並且不需要處理器。事件完成後,程序再次進入就緒狀態。
阻塞掛起
這與就緒掛起類似。處於阻塞掛起狀態的程序位於輔助儲存器中。它們最初位於主儲存器中的阻塞狀態,等待某些事件,但由於記憶體不足而被迫掛起並放置到輔助儲存器中。如果程序的工作完成,它可能會從阻塞掛起狀態變為就緒掛起狀態。
終止
程序完成執行後終止。在終止狀態下,程序從主儲存器中刪除,其程序控制塊也已刪除。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP