Preemptivní multitasking ( prioritní multitasking , anglicky preemptive multitasking , doslova preemptivní multitasking ) je druh multitaskingu , při kterém se operační systém rozhodne přepínat mezi úkoly po určitém časovém kvantu [1] .
Rozhodnutí je učiněno v souladu s prioritami úkolů. Na rozdíl od kooperativního multitaskingu je řízení přeneseno na operační systém bez ohledu na stav spuštěných aplikací, díky čemuž zejména zavěšené (například zacyklené ) aplikace zpravidla „nevisí“ operační systém. Pravidelné přepínání úloh také zlepšuje odezvu systému, efektivitu uvolňování systémových prostředků, které již úloha nevyužívá [1] [2] .
V implementaci se preemptivní multitasking liší od kooperativního multitaskingu zejména tím, že vyžaduje zpracování systémového přerušení z hardwarového časovače [3] . Po vypršení časového kvanta pro proces dojde k přerušení a vyvolá se plánovač procesu . Frekvence volání plánovače je kritická: příliš časté volání bude plýtvat časem CPU.
Preemptivní multitasking se používá ve většině moderních operačních systémů pro všeobecné použití [4] , například: Windows 9x a NT [5] , Linux (a další UNIX ) [6] a OS/2 [7] , [8] Mac OS [9 ] [10] a BeOS [11] , MenuetOS a KolibriOS [12] . Příkladem preemptivního multitaskingového systému dřívějšího než UNIX je VMS [13] . Používá se také v mnoha vestavěných operačních systémech pracujících v reálném čase , jako je FreeRTOS [14] .
operačních systémů | Aspekty|||||
---|---|---|---|---|---|
| |||||
Typy |
| ||||
Jádro |
| ||||
Řízení procesů |
| ||||
Správa a adresování paměti |
| ||||
Nástroje pro načítání a inicializaci | |||||
Shell | |||||
jiný | |||||
Kategorie Wikimedia Commons Wikibooks Wikibooks |