Uživatelské nástroje

Nástroje pro tento web


multitasking

Multitasking

Multitasking je základní vlastností moderních operačních systémů. Umožňuje uživateli například psát dokument, zatímco na pozadí hraje hudba, stahuje se soubor z internetu a probíhá kontrola antivirem. Existují dva základní principy, jak multitasking funguje: hardwarový (skutečný) a softwarový (střídání času).


Typy multitaskingu

1. Kooperativní multitasking (historický)

V tomto režimu proces sám rozhoduje, kdy „předá slovo“ operačnímu systému nebo jinému programu.

  • Nevýhoda: Pokud se jeden program zasekne, zamrzne celý počítač, protože procesor čeká na uvolnění, které nikdy nepřijde (typické pro Windows 3.1).

2. Preemptivní multitasking (moderní)

Operační systém má plnou kontrolu a každému programu přiděluje krátký časový úsek (time slice) na procesoru. Po uplynutí času systém běh programu pozastaví a přepne na jiný.

  • Výhoda: Pokud jeden program přestane odpovídat, systém ho prostě odřízne a zbytek počítače běží dál (Windows 10/11, macOS, Linux).

Hardwarový vs. Softwarový multitasking

Dnes se tyto dvě metody kombinují:

  • Kontextové přepínání (Context Switching): Na jednom jádře procesoru se programy střídají tak rychle (tisíckrát za sekundu), že lidské oko vnímá jejich běh jako plynulý.
  • Paralelní zpracování (Parallelism): Pokud má procesor více jader, může každé jádro vykonávat zcela jinou úlohu ve stejný okamžik. To je „skutečný“ multitasking.
  • Hyper-Threading / SMT: Technologie, která umožňuje jednomu fyzickému jádru zpracovávat dvě vlákna najednou tím, že efektivněji využívá nevyužité části jeho obvodů.

Klíčové pojmy

Pojem Popis
Proces (Process) Samostatná běžící aplikace (např. prohlížeč), která má vlastní vyhrazenou paměť.
Vlákno (Thread) Menší jednotka uvnitř procesu. Jeden proces (např. hra) může mít desítky vláken (fyzika, zvuk, síť).
Plánovač (Scheduler) Část jádra operačního systému, která rozhoduje, které vlákno dostane přístup k procesoru jako další.
Režijní náklady (Overhead) Čas, který procesor spotřebuje na samotné přepínání mezi úlohami místo jejich vykonávání.

Výzvy multitaskingu

  • Závody o zdroje (Race Conditions): Situace, kdy se dvě vlákna snaží přepsat stejná data ve stejný čas, což může vést k chybám.
  • Deadlock (Uváznutí): Stav, kdy Program A čeká na data od Programu B a Program B zároveň čeká na Program A. Oba zůstanou navždy stát.
  • Správa paměti: Operační systém musí zajistit, aby jeden program nemohl číst nebo měnit data jiného programu.

Související pojmy: Operační systém, CPU, Jádro procesoru (Core), Hyper-Threading, Proces, Vlákno (Thread).

multitasking.txt · Poslední úprava: autor: admin