Process control block (zkratka PCB, Task Control Block nebo Task Struct) je v informatice označení pro datovou strukturu uloženou v jádře operačního systému, která obsahuje informace potřebné pro správu a běh procesů. Každý proces má svoji vlastní PCB, přičemž jejich maximální počet může být pevně určen nebo mohou být vytvářeny dynamicky (omezením bude jen dostupná paměť).

Obsažené informace V různých implementacích se obsah PCB může lišit, avšak všeobecně obsahuje o procesu následující informace:

identifikaci procesu (číslo procesu, PID) obsah registrů procesoru, zejména čítač instrukcí (program counter) – adresa následující strojové instrukce adresní prostor procesu priorita účtovací informace o procesu (kdy naposledy běžel, kolik času procesoru již spotřeboval apod.) odkaz na další PCB I/O informace (alokovaná I/O zařízení, seznam otevřených souborů apod.)

Během změny kontextu () je běžící proces zastaven a jiný proces je vybrán, aby mohl běžet. Jádro operačního systému musí zastavit proces a uložit stav procesoru do PCB, aby při opětovném spuštění mohl být stav procesu obnoven a pokračovat tak, jako kdyby nebyl přerušen.

Umístění PCB Protože PCB obsahuje důležité informace o procesech, musí být umístěn v části paměti, která je chráněna před přístupem ostatních uživatelů a procesů. V některých operačních systémech je PCB umístěna na začátku zásobníku jádra operačního systému pro daný proces, protože je to vhodně chráněné místo.Yong, Zhang, "Breaking through the Maximum Process Number", Linux Journal, 1 Jan 2004,

Reference

Kategorie:Procesy (výpočetní technika)