計算機操作系統(7):進程的基本概念

2.1  進程的基本概念

  1. 程序的順序執行及其特徵
  2. 程序的併發執行及其特徵
  3. 進程的特徵與狀態
  4. 進程控制塊

2.1.1  程序的順序執行及其特徵

順序執行包含兩層含義:

  1. 在單道批處理系統中,對於多個用戶程序來說,所有程序是依次執行的。(外部順序性)
  2. 對於一個程序來說,在若干個程序段之間,必須按照某種先後次序順序執行;對同一個程序段中的多條指令,也是按某種順序執行的。(內部順序性)

程序的順序執行主要是指第一種,即各個程序依次執行

  1. 程序順序執行的特徵

2.1.3  程序的併發執行及其特徵

程序的併發執行包括兩層含義

  1. 對於一個程序來說,它的所有指令是按序執行的。(內部順序性)
  2. 對於多個執行中的程序(進程)來說,所有進程是交叉執行的。(外部併發性)

程序併發執行的特徵

3)不可再現性——與時間有關的錯誤  

 

2.1.4  進程的特徵與狀態

1.進程的定義和特徵

進程是程序在一個數據集上的運行過程,是系統進行資源分配和調度的一個獨立單位。 (傳統OS中對進程的定義)

進程的特徵

  1. 結構特徵

程序段、相關的數據段、PCB三部分構成了進程實體。

  1. 動態性

進程的實質是進程實體的一次執行過程,故動態性是進程的最基本特徵

  1. 併發性

這是指多個進程實體同存於內存中,且能在一段時間內同時運行

  1. 獨立性

在傳統的OS中,獨立性是指進程實體是一個能獨立運行、獨立分配資源和獨立接受調度的基本單位。

  1. 異步性

是指進程按各自獨立的、不可預知的速度向前推進,或說進程實體按異步方式運行。

2.  進程的三種基本狀態

1)就緒(Ready)狀態:

當進程已分配到除CPU以外的所有資源後,只要再獲得CPU,便可立即執行,進程這時的狀態稱爲就緒狀態。

2)執行(Running)狀態:

進程已獲得CPU,其程序正在執行

3)阻塞(Blocked)狀態:

正在執行的進程由於發生某事件而暫時無法繼續執行時,便放棄處理機而處於暫停狀態,亦即進程的執行受到阻塞,把這種暫停狀態稱爲阻塞狀態(或等待狀態)。

進程的三種基本狀態的轉換:

引起進程狀態轉換的典型事件:

進程調度:就緒態®執行態

時間片完:執行態®就緒態

請求I/O:執行態®阻塞態

I/O完成:阻塞態®就緒態  

掛起狀態:

  1. 引入掛起狀態的原因:

 

  1. 具有掛起狀態系統的進程狀態的轉換

2.1.5  進程控制塊(PCB)

爲了描述和控制進程的運行,系統爲每個進程定義了一個數據結構——進程控制塊。

進程控制塊是進程實體的一部分,是操作系統中最重要的記錄型數據結構

  1. PCB作用

使一個在多道程序環境下不能獨立運行的程序(含數據),成爲一個能獨立運行的基本單位,一個能與其它進程併發執行的進程。或者說,OS是根據PCB來對併發進程進行控制和管理的。

例如:進程調度;現場保護和恢復;進程同步和通信。

2.進程控制塊中的信息

PCB中記錄了操作系統所需的、用於描述進程當前情況以及控制進程運行的全部信息。具體包括下述四方面的信息:

  1. 進程標識符

內部標識符(進程號);外部標識符(名);

父進程標識及子進程標識;用戶標識

  1. 處理機狀態

處理機狀態信息主要由處理機的各種寄存器中的內容組成的。寄存器包括:通用寄存器、指令計數器、程序狀態字(PSW)寄存器、用戶棧指針。(保護、恢復現場)

當處理機被中斷時,這些信息都必須保存到PCB中,以便該進程重新執行時,能從斷點繼續執行。

3)進程調度信息:

在PCB中還存放一些與進程調度和進程對換有關的信息。包括:

  • 進程狀態——作爲調度和對換時的依據。
  • 進程優先級——由於描述進程使用處理機的優先級別的一個整數,優先級高的進程優先獲得處理機。
  • 進程調度所需的其它信息——它們與所採用的進程調度算法有關。……
  • 事件——即阻塞原因。
  1. 進程控制信息

程序和數據的地址——指程序和數據所在的內存或外存首地址;

進程同步和通信機制——如信號量、消息隊列指針等,它們可能全部或部分地存放在PCB中;

資源清單——是一張列出了除CPU外的、進程所需的全部資源及已經分配到該進程的資源的清單;

鏈接指針——它給出本進程(PCB)所在隊列中下一個進程的PCB的首址。

3.進程控制塊的組織方式

常用的組織方式有兩種:鏈接方式和索引方式

 2)索引方式:

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章