multitasking
Obsah
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
