Process control block

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

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ů. Každý proces má svoji vlastní PCB, přičemž jejich maximální počet může být dán jádrem operačního systému nebo mohou být vytvářeny dynamicky (jen v závislosti na volné paměti).

Obsažené informace[editovat | editovat zdroj]

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

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[editovat | editovat zdroj]

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]

Reference[editovat | editovat zdroj]

  1. Yong, Zhang, "Breaking through the Maximum Process Number", Linux Journal, 1 Jan 2004, [1]