基本內容
進程控制塊(PCB)是系統為了管理進程設定的一個專門的數據結構。系統用它來記錄進程的外部特徵,描述進程的運動變化過程。同時,系統可以利用PCB來控制和管理進程,所以說,PCB(進程控制塊)是系統感知進程存在的唯一標誌。
記載信息
PCB通常記載進程之相關信息,包括:
•程式計數器:接著要運行的指令地址。
•進程狀態:可以是new、ready、running、waiting或 blocked等。
•CPU暫存器:如累加器、索引暫存器(Index register)、堆疊指針以及一般用途暫存器、狀況代碼等,主要用途在於中斷時暫時存儲數據,以便稍後繼續利用;其數量及類因電腦架構有所差異。
•CPU排班法:優先權、排班佇列等指針以及其他參數。
•存儲器管理:如標籤頁表等。
•會計信息:如CPU與實際時間之使用數量、時限、賬號、工作或進程號碼。
•輸入輸出狀態:配置進程使用I/O設備,如磁帶機。
組織方式
進程控制塊PCB的組織方式
1.線性表方式:不論進程的狀態如何,將所有的PCB連續地存放在記憶體的系統區。這種方式適用於系統中進程數目不多的情況。
2.索引表方式:該方式是線性表方式的改進,系統按照進程的狀態分別建立就緒索引表、阻塞索引表等。
3.連結表方式:系統按照進程的狀態將進程的PCB組成佇列,從而形成就緒佇列、阻塞佇列、運行佇列等。