Blok řízení procesu - Process control block
Blok řízení procesů (PCB) je datová struktura používaná operačními systémy počítačů k ukládání všech informací o procesu. Je také známý jako deskriptor procesu. Když je proces vytvořen (inicializován nebo nainstalován), operační systém vytvoří odpovídající blok řízení procesu.
Toto určuje stav procesu, tj. Nový, připravený, spuštěný, čekající nebo ukončený.
Role
Role desek plošných spojů je ústředním prvkem v řízení procesů : přistupuje k nim a/nebo je upravuje většina nástrojů, zejména těch, které se zabývají plánováním a správou zdrojů.
Struktura
V operačních systémech s více úkoly PCB ukládá data potřebná pro správnou a efektivní správu procesů. Ačkoli detaily těchto struktur jsou závislé na systému, společné prvky spadají do tří hlavních kategorií:
- Identifikace procesu
- Stav procesu
- Kontrola procesu
Pro každou relevantní entitu existují stavové tabulky, například popisující paměť, I/O zařízení, soubory a procesy.
Paměťové tabulky například obsahují informace o přidělení hlavní a sekundární (virtuální) paměti pro každý proces, atributy autorizace pro přístup k oblastem paměti sdíleným mezi různými procesy atd. I/O tabulky mohou mít položky uvádějící dostupnost zařízení nebo jeho přiřazení k procesu, stav I/O operací, umístění pro ně použitých vyrovnávacích pamětí atd.
Identifikační data procesu zahrnují jedinečný identifikátor procesu (téměř vždy celé číslo) a ve víceuživatelském systému pro více úkolů data, jako je identifikátor nadřazeného procesu, identifikátor uživatele, identifikátor skupiny uživatelů atd. ID procesu je zvláště důležité protože se často používá ke křížovému odkazu na výše definované tabulky, např. ukazuje, který proces používá která I/O zařízení nebo paměťové oblasti.
Data stavu procesu definují stav procesu, když je pozastaven, což umožňuje operačnímu systému restartovat jej později. To vždy zahrnuje obsah obecných registrů CPU, stavové slovo procesu CPU, ukazatele zásobníku a rámce atd. Během přepínání kontextu se běžící proces zastaví a spustí se další proces. Jádro musí zastavit provádění běžícího procesu, zkopírovat hodnoty v hardwarových registrech do své PCB a aktualizovat hardwarové registry hodnotami z PCB nového procesu.
Informace o řízení procesů používá OS ke správě samotného procesu. To zahrnuje:
- Stav plánování procesu - stav procesu ve smyslu „připraveno“, „pozastaveno“ atd. A také další informace o plánování, jako je hodnota priority, doba, která uplynula od doby, kdy proces získal kontrolu nad CPU nebo od bylo pozastaveno. Také v případě pozastaveného procesu musí být zaznamenána identifikační data události pro událost, na kterou proces čeká.
- Informace o strukturování procesu - podřízená ID procesu nebo id jiných procesů souvisejících s aktuálním nějakým funkčním způsobem, které mohou být reprezentovány jako fronta, prsten nebo jiné datové struktury
- Interprocesové komunikační informace - příznaky, signály a zprávy související s komunikací mezi nezávislými procesy
- Procesní oprávnění - povolený/nepovolený přístup k systémovým prostředkům
- Stav procesu - nový, připravený, spuštěný, čekající, mrtvý
- Číslo procesu (PID) - jedinečné identifikační číslo pro každý proces (známé také jako ID procesu )
- Program Counter (PC) - ukazatel na adresu další instrukce, která má být provedena pro tento proces
- Registry CPU - sada registrů, kam je potřeba uložit proces pro spuštění za běhu
- CPU Scheduling Information - plánování času CPU
- Informace o správě paměti - tabulka stránek, limity paměti, tabulka segmentů
- Účetní informace - množství CPU použitého k provedení procesu, časové limity, ID provedení atd.
- Informace o stavu I/O - seznam I/O zařízení přidělených procesu.
Umístění
PCB musí být uloženo v oblasti paměti chráněné před běžným přístupem k procesu. V některých operačních systémech je DPS umístěna na začátku zásobníku jádra procesu.
Viz také
- Řídicí blok vláken (TCB)
- Předpona segmentu programu (PSP)
- Datový segment