程序管理 七 程序狀態與轉換

2021-10-02 13:05:52 字數 1097 閱讀 2531

乙個程序的生命期可以劃分為一組狀態,這些狀態刻劃了整個程序。系統根據pcb 結構中的狀態值控制程序。

在程序的生命期內,乙個程序至少具有三種基本狀態:執行狀態、等待狀態和就緒狀態。

單cpu系統中,任一時刻處於執行狀態的程序只能有乙個。

就緒狀態的程序已經得到除 cpu之外的其他資源,只要經由排程得到處理機,便可立即投入執行。

有些系統為了有效利用記憶體,就緒狀態進一步分為記憶體就緒狀態和外存就緒狀態。但是這也增加了系統開銷和系統複雜性。

記憶體就緒狀態

只有處於記憶體就緒狀態的程序在得到處理機後才能立即投入執行

外存就緒狀態

處於外存就緒狀態的程序只有先成為記憶體就緒狀態後,才可能被排程執行

程序因等待某個事件發生而放棄處理機進入等待(阻塞)狀態。

阻塞狀態按照條件劃分

等待狀態可根據等待事件的種類進一步劃分為不同的子狀態,例如記憶體等待、裝置等待、檔案等待和資料等待等。

好處:

這樣做的好處是系統控制簡單,發現和喚醒相應的程序較為容易。

壞處:

但系統中設定過多的狀態會造成系統引數和狀態轉換過程的增加。

1.程序狀態反映程序執行過程的變化。

2.這些狀態隨著程序的執行和外界條件發生變化和轉換。

3.程序的狀態轉換除了要使用不同的控制過程,有時還要借助於硬體觸發器才能完成。

什麼是掛起操作

程序暫時被淘汰出記憶體

引入原因

1.終端使用者的需要

2.父程序請求

3.負荷調節需要

4.作業系統需要,引入程序「掛起」操作(程序暫時被淘汰出記憶體)

掛起過程可能發生狀態轉換

1.活動就緒→靜止就緒

2.活動阻塞→靜止阻塞

3.靜止就緒→活動就緒

4.靜止阻塞→活動阻塞。

程序管理二(程序狀態及其轉換)

1.程序的三種基本狀態。程序執行時的間斷性決定了程序在建立後到執行完這個生命週期中具有多種狀態。執行中的程序具有以下三種基本狀態。就緒狀態。當程序已分配到出cpu以外的所有必要資源後,只要再獲得cpu,便可立即執行,程序這時的狀態稱為就緒狀態。在乙個系統中處於就緒狀態的程序可能有多個,通常將它們排成...

程序管理 四 程序的狀態以及轉換

簡要描述 該時刻實際占有著cpu 簡要描述 可以執行,但是由於其他程序正在執行而暫時停止 這種情況下,只不過是系統暫時沒有把cpu分配給它而已,一旦系統將cpu分配給它,它立馬就可以跑。簡要描述 除非外部事件發生否則就不能執行 當乙個程序不能執行的時候,它就會被阻塞。典型的例子就是等待可以使用的輸入...

程序管理 四 程序的狀態以及轉換

簡要描述 該時刻實際占有著cpu 簡要描述 可以執行,但是由於其他程序正在執行而暫時停止 這種情況下,只不過是系統暫時沒有把cpu分配給它而已,一旦系統將cpu分配給它,它立馬就可以跑。簡要描述 除非外部事件發生否則就不能執行 當乙個程序不能執行的時候,它就會被阻塞。典型的例子就是等待可以使用的輸入...