process control block (tsz. process control blocks)
Minden egyes folyamat indításakor az operációs rendszer létrehoz egy új Process Control Block-ot. Ez a blokk tartalmazza az összes szükséges információt, amely lehetővé teszi a folyamat megfelelő működtetését, menedzselését, megszakítását és újraindítását. Ha egy folyamat végrehajtása megszakad, például egy időzítő megszakítás miatt, a PCB-be menti az operációs rendszer a folyamat aktuális állapotát, majd amikor a folyamat folytatódik, innen olvassa vissza az adatokat, és ott folytatja, ahol abbahagyta.
Ez egy egyedi szám, amely minden folyamathoz hozzárendelve lehetővé teszi az azonosításukat.
A PCB tárolja a folyamat jelenlegi állapotát, például:
Ez tartalmazza annak az utasításnak a címét, amelyet a folyamat végrehajt következő lépésként.
A PCB-ben elmentésre kerülnek a CPU regisztereinek értékei (pl. általános célú regiszterek, veremmutató stb.) amikor a folyamat nem aktív.
Ide tartoznak például a prioritás, ütemezési kvóta, vagy más ütemező által használt adatok.
A PCB tartalmazza a folyamat memóriaterületére vonatkozó adatokat, például a lapozási táblák vagy szegmenslisták helyét, memóriacímeket, jogosultságokat.
Tartalmazza a folyamat által használt I/O eszközök adatait, fájlleírókat, nyitott fájlokat, használt eszközök típusát.
Egyes operációs rendszerekben a PCB tartalmazza annak a folyamatnak az azonosítóját, amely létrehozta (szülő), valamint a gyermekfolyamatok listáját.
A PCB-ket az operációs rendszer egy különösen védett memóriaterületen tárolja, rendszerint a kernel memóriaterületén. Ezekhez a felhasználói programok közvetlenül nem férhetnek hozzá. Az operációs rendszer egy külön folyamatlistát vagy táblázatot (például process table) tart fenn, amelyben a PCB-k helye és azonosítója szerepel.
Amikor az operációs rendszer vált egy folyamat és egy másik között (context switch), akkor az alábbi történik:
ps
, top
, kill
parancsok Unix/Linux rendszerekben) a PCB-kből származó adatok segítségével működnek.
A Process Control Block tehát elengedhetetlen az operációs rendszer működéséhez. A benne tárolt adatok lehetővé teszik, hogy a folyamatokat megfelelően azonosítsuk, állapotukat nyomon követhessük, erőforrásokat rendeljen hozzájuk az operációs rendszer, és az ütemező hatékonyan működjön. Minden kontextusváltásnál a PCB a kulcs, ami lehetővé teszi a folyamatok szüneteltetését és folytatását.