首先,便於對計算機中的各類資源進行管理,包括硬件和軟件OS將其抽象爲各類數據結構。以及提供一組對資源進行操作的命令,用戶可以利用這些數據結構及相關操作而無需關心其具體的實現細節,OS作爲計算機資源的管理者,爲了協調諸多用戶對系統中共享資源的使用,是通過建立和維護各種數據結構完成的。

在OS中對每一個資源,進程都設置了數據結構,用於表徵其實體,稱之爲資源信息表或進程實體表。

進程控制塊PCB的作用:

爲了描述和管理進程的運行,在OS的核心專門定義了一個數據結構----進程控制塊(PCB)

其作爲進程實體的一部分,記錄了OS所需的,用於描述進程當前的情況以及進程運行的消息。

作用:使一個在多道程序環境下不能獨立運行的程序成爲一個能夠獨立運行的基本單位,一個能與其他進程併發執行的程序。

1:作爲獨立運行基本單位的標誌。系統是通過PCB感知進程的存在。

2:能實現間斷性運行的方式。多到程序運行的情況下程序是走走停停,間斷運行的,當程序移交CPU的時候必須保留現場,調用時要恢復現場,PCB中保留了中斷程序的現場信息,

3:提供進程調度所需的信息:

4:提供進程調度所需的信息;PCB中提供了進程的狀態信息,還有其它信息任如(進程的優先級,進程的等待時間,以及和執行時間)

5:實現與其他進程的同步與信息:進程同步機制是用於實現各進程間的協調運行,採用信號量機制時,要求每個進程都設置相應的同於同步的信號量。在PCB中還具有實現進程通信區域或通信隊列指針等。

進程控制塊中的信息

1:進程標識符(PID):用於唯一標識一個進程一個進程通常有兩種標識符1:外部與內部標識符。

2:處理機狀態:處理機的狀態信息,也稱爲處理機的上下文,當進程切換時,處理機的狀態信息必須保存在相應的PCB中,以便在該進程重新執行時從斷點處開始。

3:進程調度信息:在OS進行進程調度的時候,必須瞭解進程的狀態以及進程的調度信息。

如(進程的狀態,進程的優先級,其他消息(進程調度算法),事件(引起阻塞原因))

4:進程的控制信息:包括1:程序和數據地址,2:進程同步和通信機制,3:資源搶清單4:連接指針。

計算機操作系統之進程控制塊PCB

1.進程控制塊的作用

進程控制塊是進程實體的一部分,是操作系統中最重要的記錄型數據結構。PCB中記錄了操作系統所需要的、用於描述進程情況及控制進程運行所需要的全部信息。進程控制塊的作用,是使一個在多道程序環境下不能獨立進行的程序(含數據),成爲一個能獨立運行的基本單位,一個能與其他進程併發執行的進程。或者說,操作系統是根據PCB來對併發執行的進程進行控制和管理。

2.進程控制塊中的內容

在進程控制塊中,主要包括4個方面內容。

(1)進程標識符信息。進程標識符用於惟一地標識一個進程。一個進程,通常有以下兩個標識符:外部標識符,內部標識符。

(2)處理機狀態信息。組成處理機狀態信息主要是由處理機各種寄存器中的內容所組成。

(3)進程一調度信息。在PCB中還存放了一些與進程調度和進程對換有關的信息,包括:進程狀態、進程優先級、進程調度所需要的其他信息、事件。

(4)進程控制信息。進程控制信息包括:程序和數據的地址、進程同步和通信機制、資源清單、鏈接指針。

3.PCB的組織方式

在一個系統中,通常可擁有數十個、數百個乃至數千個PCB,爲能對它們進行有效管理,應該用適當的方式將它們組織起來,目前,常見的組織方式有兩種,鏈接方式和索引方式。

相關文章