複製鏈接
請複製以下鏈接發送給好友

進程控制塊

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

進程控制塊基本內容

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

進程控制塊記載信息

PCB通常記載進程之相關信息,包括:
  • 程序計數器:接着要運行的指令地址。
  • 進程狀態:可以是new、ready、running、waiting或 blocked等。
  • CPU暫存器:如累加器、索引暫存器(Index register)、堆棧指針以及一般用途暫存器、狀況代碼等,主要用途在於中斷時暫時存儲數據,以便稍後繼續利用;其數量及類因電腦架構有所差異。
  • CPU排班法:優先級、排班隊列等指針以及其他參數。
  • 存儲器管理:如標籤頁表等。
  • 會計信息:如CPU與實際時間之使用數量、時限、賬號、工作或進程號碼。
  • 輸入輸出狀態:配置進程使用I/O設備,如磁帶機 [1] 

進程控制塊組織方式

進程控制塊PCB的組織方式
1.線性表方式:不論進程的狀態如何,將所有的PCB連續地存放在內存的系統區。這種方式適用於系統中進程數目不多的情況。
2.索引表方式:該方式是線性表方式的改進,系統按照進程的狀態分別建立就緒索引表、阻塞索引表等。
3.鏈接表方式:系統按照進程的狀態將進程的PCB組成隊列,從而形成就緒隊列、阻塞隊列、運行隊列等。
參考資料