程序的狀態簡單分為ready, running, wait。(就緒,執行,等待)
當程序在cpu上執行時,程序處於執行狀態,程序獲取所有必要資源,只剩下等待cpu去排程時,程序處於就緒狀態,乙個執行中的程序有時會需要等待某個事件,此時會有執行狀態變換成阻塞狀態,例如i/o請求。當等待的事件發生後,狀態切換為就緒狀態。
程序狀態細分時,加入了兩個狀態,create,和stop(這個詞不知道用的對不對)。
程序被建立的過程,首先是建立pcb(程序控制塊)的必要資訊,然後讓該程序進入就緒狀態。
終止狀態表示程序要結束執行,首先系統對程序做相關處理,然後釋放掉相應記憶體。
如果程序不斷的被建立,或者說系統資源不能夠分配給所有的程序,就需要將某些程序掛起,暫時不參加排程,來維持系統平衡。
活躍就緒表示程序在主存上,一切準備就緒,等待被系統排程。
靜止就緒表示程序被兌換到輔存時的就緒狀態,一旦主存沒有了活躍程序,或者輔存程序有高優先順序,輔存程序就會調回到主存,而且狀態切換為活躍就緒。
活躍阻塞,類似阻塞狀態,等待某個事件發生,發生後進入活躍就緒狀態。
靜止阻塞,輔存程序等待某個事件發生,發生後進入靜止就緒狀態。
程序間的狀態切換
在任意時刻下,通常只有乙個程序可以被載入到計算機的cpu上執行。任何乙個程序在它的生命週期內都會處於下面三種狀態,使用這三種狀態可以簡單描述執行在計算機上的程序之間的狀態切換,程序的一生都處在這三種狀態間相互轉換。cpu在排程程序時,只會去作業系統維護的處於就緒態的程序pcb鍊錶中排程,所以三狀態模...
程序的三種基本狀態與切換
程序執行時間的間斷性決定了程序可能具有多種狀態,事實上,執行上的程序可能有以下三種狀態。1 就緒狀態 當程序已分配到除了cpu以外的所有必要資源後,只要再獲得cpu,便可以立即執行,程序的這時的狀態稱為就緒狀態。在乙個系統中處於就緒狀態的程序可能有多個,通常將他們排成乙個佇列,稱為就緒佇列。2 執行...
程序的狀態與轉換
程序在其生命週期內,由於系統中各程序之間的相互制約關係及系統的執行環境的變化,使得程序的狀態 也在不斷的發生變化,即乙個程序會經歷若干種不同的狀態。通常程序有以下五種狀態,前三種是程序的基本狀態。1 執行狀態 程序正在處理機上執行。在單處理機環境下,每一時刻最多只有乙個程序處於執行狀態。2 就緒狀態...