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

2022-06-30 12:21:10 字數 874 閱讀 8113

簡要描述:該時刻實際占有著cpu

簡要描述:可以執行,但是由於其他程序正在執行而暫時停止

這種情況下,只不過是系統暫時沒有把cpu分配給它而已,一旦系統將cpu分配給它,它立馬就可以跑。

簡要描述:除非外部事件發生否則就不能執行

當乙個程序不能執行的時候,它就會被阻塞。典型的例子就是等待可以使用的輸入。除此之外,乙個理論上可以執行的程序被迫停止,由於作業系統排程另外乙個程序占用了cpu。

這種狀況下程序不能執行,不管cpu閒不閒,它都執行不了,因為它缺少可以執行的條件,所以陷入等待中。

1.程序發現該程序由於缺少條件不能執行下去了,發生了轉換一,比如等待使用者輸入數字來計算,使用者不輸入數字,根本就進行不下去,只能變成阻塞狀態並陷入等待。

2.轉換2和轉換3是由排程程式做的,排程程式決定哪個程序占有cpu。發生這種轉換的情況是,當排程程式發現某個程式占用cpu時間有點過長了,為了讓其他程序也享受到和該程序一樣的待遇,會讓這個程序暫時讓出cpu,進而讓與他地位相同的程序使用。而當所有與他地位相同的人享受並使用過cpu之後,又輪到原來的那個程序的時候,會發生轉換3.

3.當乙個阻塞程序得到其繼續執行的條件的時候,比如程式得到輸入的時候,它會從原來的阻塞狀態變為就緒狀態,假如現在cpu不忙的話,立馬回繼續變成執行狀態。

作業系統的最低層是屬於排程程式,在它的上面有許多的程序,所以關於中斷處理、啟動程序和停止程序的具體細節都隱藏在排程程式之中

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

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

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

乙個程序的生命期可以劃分為一組狀態,這些狀態刻劃了整個程序。系統根據pcb 結構中的狀態值控制程序。在程序的生命期內,乙個程序至少具有三種基本狀態 執行狀態 等待狀態和就緒狀態。單cpu系統中,任一時刻處於執行狀態的程序只能有乙個。就緒狀態的程序已經得到除 cpu之外的其他資源,只要經由排程得到處理...

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

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