Kooperatívny multitasking:
1. Výnos úlohy: Pri kooperatívnom multitaskingu sa úlohy dobrovoľne vzdávajú kontroly nad procesorom iným úlohám. To sa dosiahne prostredníctvom príkazu "výnos" alebo ekvivalentného mechanizmu v programovacom jazyku.
2. Dôvera pri úlohách: Každá úloha je zodpovedná za to, že sa explicitne vzdá kontroly nad CPU, aby bolo možné vykonať iné úlohy. Ak úloha neprevezme kontrolu, celý systém môže zamrznúť alebo prestať reagovať.
3. Žiadne plánovanie na základe priority: Keďže úlohy spolupracujú a rozhodujú o tom, kedy ustúpiť, neexistuje koncept plánovania založeného na prioritách. Všetky úlohy majú rovnakú prioritu a poradie vykonávania závisí výlučne od poddajného správania každej úlohy.
4. Jednoduchosť: Kooperatívny multitasking je v porovnaní s preemptívnym multitaskingom pomerne jednoduchý na implementáciu. Nevyžaduje plánovací mechanizmus ani sofistikované algoritmy na riadenie úloh.
5. Bežné v starších operačných systémoch: Kooperatívny multitasking sa bežne používal v skorých operačných systémoch, kde bola jednoduchosť uprednostňovaná pred výkonom alebo zvládaním zložitých úloh.
Preventívny multitasking:
1. Ovládanie OS nad plánovaním úloh: Pri preemptívnom multitaskingu má operačný systém (OS) kontrolu nad plánovaním úloh a rozhoduje, kedy úlohy prepnúť. Operačný systém predíde úlohám, ktoré boli spustené počas vopred určeného časového úseku, a umožní vykonanie iných úloh.
2. Plánovanie podľa priority: Preventívny multitasking umožňuje plánovanie na základe priority, čo znamená, že úlohy s vyššou prioritou majú prednosť pred úlohami s nižšou prioritou. To zaisťuje lepšie prideľovanie zdrojov a schopnosť reagovať na časovo kritické úlohy.
3. Vynútené prepínanie kontextu: OS môže násilne pozastaviť vykonávanie úlohy a uložiť jej stav do pamäte. Keď sa úloha obnoví, obnoví sa jej predchádzajúci stav, čím sa zabezpečí kontinuita a integrita.
4. Vylepšená výkonnosť: Preventívny multitasking poskytuje efektívnejšie a predvídateľnejšie plánovanie úloh, čo vedie k lepšiemu celkovému výkonu systému a odozvy.
5. Zložitosť: Preemptívny multitasking zahŕňa zložitejšie algoritmy a mechanizmy na plánovanie, prepínanie kontextu a riadenie stavov úloh, čím sa jeho implementácia stáva náročnejšou.
Stručne povedané, kooperatívny multitasking sa spolieha na dobrovoľné poskytovanie úloh, pričom úlohy majú rovnakú prioritu a plánovanie nemá pod kontrolou OS. Je jednoduchšia na implementáciu, ale môže viesť k zamrznutiu systému, ak úlohy nebudú spolupracovať. Preventívny multitasking na druhej strane poskytuje väčšiu kontrolu operačného systému, umožňuje plánovanie na základe priorít a zaisťuje predvídateľné vykonávanie úloh. Je efektívnejší a vhodný pre moderné výpočtové prostredia, ktoré vyžadujú vysoký výkon a odozvu.