2.2.5. Process Lifecycle

Jakmile je k dispozici přepínání kontextu, princip plánování procesů je jasný. Operační systém si udržuje seznam procesů, které mají běžet, a střídavě jim přiděluje počítač. Trocha terminologie: seznam procesů, které mají běžet se jmenuje "ready queue", procesy v tomto seznamu jsou ve stavu "ready to run". Ted se dá kreslit stavový diagram, přepnutím kontextu se proces dostává ze stavu "ready to run" do stavu "running" a zpět, případně můžeme říci přesněji "running in kernel" a doplnit ještě stav "running in application". Mezi těmito stavy se přeskakuje syscalls a návraty z nich a interrupts a návraty z nich. Voláním sleep se proces ze stavu running in kernel dostane do stavu "asleep", z něj se voláním wakeup dostane do stavu "ready to run". Jména těchto volání jsou pouze příklady. Specificky pro UNIX existuje ještě stav "initial", ve kterém se proces vytváří během volání fork, a stav "zombie", ve kterém proces čeká po volání exit dokud parent neudělá wait.