Proces (v angličtině , procesů ), v práci na počítači , je program, v současné době spuštění pomocí počítače . Přesněji lze definovat jako:
Proces trvá určitou dobu, začíná a ( někdy ) končí. Proces může být spuštěn uživatelem prostřednictvím periferního nebo jiného procesu: uživatelské „ aplikace “ jsou sady procesů.
Ve schématu CIM definovaném společným informačním modelem je procesům IT přiřazena základní třída CIM_Process . V závislosti na operačním systému jej lze odvodit Win32_Process v IBMzOS_Process nebo CIM_UnixProcess .
Počítač vybavený operačním systémem multitasking je schopen provádět několik procesů téměř současně. Analogicky s telekomunikacemi se tento proces nazývá multiplexování . Pokud existuje více procesorů, je provádění procesů rovnoměrně rozloženo mezi tyto procesory.
Operační systém je zodpovědný za alokaci zdrojů (paměti, čas procesoru, vstupy / výstupy) nezbytných pro procesy a zajištění toho, aby provoz jednoho procesu nebyl v rozporu s fungováním ostatních (izolace).
Může také poskytnout rozhraní API umožňující meziprocesovou komunikaci (IPC).
Kromě multiplexování hardwarových prostředků může systém řídit přístup procesů k prostředkům podle matice práv a také přidružovat procesy k uživatelům, kteří jsou příjemci sady přístupových práv: proces má práva uživatele, který jej inicializoval.
Proces se může zastavit několika způsoby:
Pokud vypnutí procesu není normální vypnutí, může být důležité být varován. Toho lze dosáhnout pomocí systémů dohledu (nazývaných také monitorování ).
Většina systémů nabízí rozlišení mezi procesy, které jsou a priori zcela izolované od sebe navzájem, a „ lehkými procesy “ ( vlákna v angličtině), které tvoří procesy (každý proces má alespoň jedno vlákno ) a které sdílejí mezeru. (a další zdroje) společné.
V případě procesu zahrnujícího několik lehkých procesů (nebo pro použití často používaného výrazu s více vlákny) existuje pro každý lehký proces samostatný stav procesoru (kontext spuštění).
Po sobě jdoucí stavy procesu jsou obecně reprezentovány stavovým diagramem .
Použití stavových diagramů je způsobeno skutečností, že proces je zvenčí koherentní pouze v určitých dobách jeho provádění, zejména mimo kritické úseky . V praxi sledujeme stav procesu tím, že s ním komunikujeme; poskytuje tedy odpověď, pokud je koherentní.
Vezměme si příklad; posloupnost instrukcí v pseudokódu patřících jakémukoli programu:
procédure empiler (v : valeur) compteur := compteur+1 vect[compteur] := vProgram využívající tuto funkci lze pozorovat pouze před nebo po volání funkce, empiler()protože mezi instrukcemi pro zvýšení a přiřazení není ovlivněna číselná buňka compteurpole vect[]a obsahuje ... náhodnou hodnotu (paměť je zřídka prázdná) .
Tyto stavy existují ve většině operačních systémů :
V závislosti na operačních systémech mohou být také možné tyto různé stavy: