Skip to content

Procesy

Proces je konkrétní spuštěný program, jenž má přidělen prostor v operační paměti. Má zde svůj kód a všechna svá data. Z jednoho programu lze spustit více různých procesů.

Životní cyklus procesu

stateDiagram-v2
    direction LR
    New --> Ready : Admitted
    Ready --> Running : Interrupt
    Running --> Waiting : I/O or Event Wait
    Waiting --> Ready : I/O or Event Complete
    Ready --> Running : Scheduler Dispatch
    Running --> Terminated : Exit
    Terminated --> [*]

Každý proces má přiřazený Process Identifier (PID). Jedná se o číslo, které jednoznačně identifikuje proces v rámci operačního systému. Toto číslo je uloženo v části paměti, kde si operační systém vede informace o jednotlivých procesech. Tento záznam, ve kterém je PID a další informace o procesu, se nazývá process control block, neboli PCB.

Stav Popis
Starting Právě bylo požádáno o spuštění procesu a probíhá kopírování dat z úložiště do paměti. Jádro procesu přidělí PID, vytvoří si jeho PCB a připraví nastavení procesoru. Spouštění procesu může chvíli trvat, je-li proces velký.
Ready Proces stojí ve frontě a čeká na přidělení prostředků.
Running Procesu byl přidělen procesorový čas a je vykonáván jeho kód.
Blocked Proces požádal o nějakou operaci, jejíž vykonání vyžaduje čas. Typicky se jednalo o požadavek o přístup k nějakému zařízení (tzv. požadavek na I/O).
Swapped Data procesu jsou přesunuta z operační paměti do úložiště. Stalo se to proto, že systému dochází operační paměť a je nutné ji uvolnit pro jiné procesy.
Zombie Proces je vyřazen z fronty čekající na procesor, ale nebude zahájeno mazání jeho dat. Čeká se na další pokyn.
Terminated Bylo požádáno o ukončení procesu. Odkaz na proces je odstraněn z fronty procesů čekajících na procesor, ale v paměti jsou stále data procesu, která musí být smazána. Proces tedy ještě existuje, ale už nebude spouštěn.