Process control block
Process control block (zkratka PCB, též Task Control Block nebo Task Struct) je datová struktura v jádře operačního systému, která obsahuje informace potřebné pro správu a běh procesů.
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
- 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 (anglicky context switch) 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 proces pokračovat tak, jako by 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.[1]