進(jìn)程控制塊(Processing Control Block),是操作系統(tǒng)核心中一種數(shù)據(jù)結(jié)構(gòu),主要表示進(jìn)程狀態(tài)。其作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù))检疫,成為一個(gè)能獨(dú)立運(yùn)行的基本單位或與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程〉凰唬或者說屎媳,OS是根據(jù)PCB來對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。 PCB通常是系統(tǒng)內(nèi)存占用區(qū)中的一個(gè)連續(xù)存區(qū)论巍,它存放著操作系統(tǒng)用于描述進(jìn)程情況及控制進(jìn)程運(yùn)行所需的全部信息烛谊,它使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序成為一個(gè)能獨(dú)立運(yùn)行的基本單位或一個(gè)能與其他進(jìn)程并發(fā)執(zhí)行的進(jìn)程。
進(jìn)程控制塊(PCB)是系統(tǒng)為了管理進(jìn)程設(shè)置的一個(gè)專門的數(shù)據(jù)結(jié)構(gòu)嘉汰。系統(tǒng)用它來記錄進(jìn)程的外部特征丹禀,描述進(jìn)程的運(yùn)動(dòng)變化過程。同時(shí)鞋怀,系統(tǒng)可以利用PCB來控制和管理進(jìn)程双泪,所以說,PCB(進(jìn)程控制塊)是系統(tǒng)感知進(jìn)程存在的唯一標(biāo)志密似。
PCB通常記載進(jìn)程之相關(guān)信息焙矛,包括:
程序計(jì)數(shù)器:接著要運(yùn)行的指令地址。
進(jìn)程狀態(tài):可以是new残腌、ready村斟、running、waiting或 blocked等抛猫。
CPU暫存器:如累加器蟆盹、索引暫存器(Index register)、堆棧指針以及一般用途暫存器邑滨、狀況代碼等日缨,主要用途在于中斷時(shí)暫時(shí)存儲(chǔ)數(shù)據(jù),以便稍后繼續(xù)利用掖看;其數(shù)量及類因電腦架構(gòu)有所差異匣距。
CPU排班法:優(yōu)先級(jí)、排班隊(duì)列等指針以及其他參數(shù)哎壳。
存儲(chǔ)器管理:如標(biāo)簽頁表等毅待。
會(huì)計(jì)信息:如CPU與實(shí)際時(shí)間之使用數(shù)量、時(shí)限归榕、賬號(hào)尸红、工作或進(jìn)程號(hào)碼。
輸入輸出狀態(tài):配置進(jìn)程使用I/O設(shè)備刹泄,如磁帶機(jī)外里。
進(jìn)程控制塊PCB的組織方式:
1.線性表方式:不論進(jìn)程的狀態(tài)如何,將所有的PCB連續(xù)地存放在內(nèi)存的系統(tǒng)區(qū)特石。這種方式適用于系統(tǒng)中進(jìn)程數(shù)目不多的情況盅蝗。
2.索引表方式:該方式是線性表方式的改進(jìn),系統(tǒng)按照進(jìn)程的狀態(tài)分別建立就緒索引表姆蘸、阻塞索引表等墩莫。
3.鏈接表方式:系統(tǒng)按照進(jìn)程的狀態(tài)將進(jìn)程的PCB組成隊(duì)列,從而形成就緒隊(duì)列逞敷、阻塞隊(duì)列狂秦、運(yùn)行隊(duì)列等。