計算機進程管理

處理機管理也稱為

進程管理,其核心是如何合理地分配處理時間,提高系統的效率。在計算機系統中有多個併發執行程序,採用“程序”這個靜態的概念已經不能描述程序執行時動態變化的過程,所以引入了“進程”

1、基本概念

(1)程序執行時的特徵

程序順序執行時的主要特徵如下:

順序性:程序的各程序段嚴格按照規定的順序執行;

封閉性:程序運行時系統內的資源只受該程序控制而改變,執行結果不受外界因素的影響。

可再現性:只要程序執行環境和初始條件相同,多次執行的結果一致。

進程管理-前趨圖:

前趨圖是用於描述程序執行順序的一個有向無循環圖,由結點和有向邊組成,結點代表程序段的操作,而結點間的有向邊表示兩個程序段操作之間存在的前趨關係(→)。程序段Pi和Pj的前趨關係表示成Pi→Pj,其中Pi是Pj的前趨,Pj是Pi的後繼,其含義是Pi執行結束後Pj才能執行。例如,下圖為三個程序段,其中輸入是計算的前驅,計算是輸入的後繼。

計算機進程管理

三個結點的前驅圖

前趨圖示例:包餃子

①:絞肉

②:切蔥末

③:切薑末

④:攪拌佐料

⑤:包餃子


計算機進程管理

前趨圖示例:包餃子

2、進程的組成

進程(Process)是程序的一次執行,是進行資源分配和調度的基本單位。進程通常由程序、數據和進程控制塊(PCB)組成。其中,程序部分描述了進程需要完成的功能。假如,一個程序能被多個進程同時共享執行,那麼這部分就應該以可再入碼的形式編制,它是程序執行時不可修改的部分。數據部分包括程序執行時所需的數據及工作區,這部分只能為一個進程所專用,是進程的可修改部分;為了描述和控制進程的運行,系統為每個進程定義了一個數據結構——進程控制塊(PBC),它是進程重要的組成部分,它記錄了操作系統所需的、用於描述進程的當前狀態和控制進程的全部信息,操作系統根據進程的PBC來感知進程的存在,並依此對進程進行管理和控制,進程控制塊是進程存在的唯一標誌。

進程的主要內容如表所示:

計算機進程管理

進程的內容

3、進程的狀態及其狀態間的切換

(1)三態模型

在多道程序系統中,進程的運行是走走停停,在處理器上交替運行,狀態也不斷地發生變化,因此進程一般有三種基本狀態:運行、就緒和阻塞。

運行:當一個進程在處理機上運行時,稱該進程處於運行狀態。顯然,對於單機處理系統,處於運行狀態的進程只有一個。

就緒:一個進程獲得了除處理機外的一切所需資源,一旦得到處理機即可運行,則稱此進程處於就緒狀態。

阻塞:也稱為等待或睡眠狀態,一個進程正在等待某一事件發生(例如請求I/O而等待I/O完成等)而暫停運行,這時即使把處理機分配給此進程,它也無法運行,稱此進程處於阻塞狀態。

(2)五態模型

事實上,對於一個實際的系統,進程的狀態及其轉換將更復雜,三態模型不能夠滿足我們的需求,所以產生了五態模型。


計算機進程管理

進程三態模型 → 進程五態模型


分享到:


相關文章: