進程控制塊

進程控制塊

進程控制塊(Processing Control Block),是作業系統核心中一種數據結構,主要表示進程狀態。其作用是使一個在多道程式環境下不能獨立運行的程式(含數據),成為一個能獨立運行的基本單位或與其它進程並發執行的進程。或者說,OS是根據PCB來對並發執行的進程進行控制和管理的。 PCB通常是系統記憶體占用區中的一個連續存區,它存放著作業系統用於描述進程情況及控制進程運行所需的全部信息,它使一個在多道程式環境下不能獨立運行的程式成為一個能獨立運行的基本單位或一個能與其他進程並發執行的進程。

基本內容

進程控制塊(PCB)是系統為了管理進程設定的一個專門的數據結構。系統用它來記錄進程的外部特徵,描述進程的運動變化過程。同時,系統可以利用PCB來控制和管理進程,所以說,PCB(進程控制塊)是系統感知進程存在的唯一標誌。

記載信息

PCB通常記載進程之相關信息,包括:

•程式計數器:接著要運行的指令地址。

•進程狀態:可以是new、ready、running、waiting或 blocked等。

•CPU暫存器:如累加器、索引暫存器(Index register)、堆疊指針以及一般用途暫存器、狀況代碼等,主要用途在於中斷時暫時存儲數據,以便稍後繼續利用;其數量及類因電腦架構有所差異。

•CPU排班法:優先權、排班佇列等指針以及其他參數。

•存儲器管理:如標籤頁表等。

•會計信息:如CPU與實際時間之使用數量、時限、賬號、工作或進程號碼。

•輸入輸出狀態:配置進程使用I/O設備,如磁帶機。

組織方式

進程控制塊PCB的組織方式

1.線性表方式:不論進程的狀態如何,將所有的PCB連續地存放在記憶體的系統區。這種方式適用於系統中進程數目不多的情況。

2.索引表方式:該方式是線性表方式的改進,系統按照進程的狀態分別建立就緒索引表、阻塞索引表等。

3.連結表方式:系統按照進程的狀態將進程的PCB組成佇列,從而形成就緒佇列、阻塞佇列、運行佇列等。

相關詞條

相關搜尋

熱門詞條

聯絡我們