Preemptive multitasking ( priority multitasking , engelska preemptive multitasking , literally preemptive multitasking ) är en typ av multitasking där operativsystemet bestämmer sig för att växla mellan uppgifter efter ett visst tidskvantum [1] .
Beslutet fattas i enlighet med uppgifternas prioriteringar. Till skillnad från kooperativ multitasking överförs kontrollen till operativsystemet oavsett tillståndet för körande applikationer, på grund av vilket, i synnerhet, hängda (till exempel loopade ) applikationer, som regel, inte "hänger" operativsystemet. Regelbundet byte av uppgifter förbättrar också systemets lyhördhet , effektiviteten av att frigöra systemresurser som inte längre används av uppgiften [1] [2] .
Vid implementering skiljer sig förebyggande multitasking från kooperativ multitasking, i synnerhet genom att det kräver bearbetning av ett systemavbrott från en hårdvarutimer [ 3] . Efter att tidskvantumet för processen har löpt ut, inträffar ett avbrott och processschemaläggaren anropas . Frekvensen av att anropa schemaläggaren är avgörande: att ringa den för ofta kommer att slösa CPU-tid.
Förebyggande multitasking används i de flesta moderna generella operativsystem [4] , till exempel: Windows 9x och NT [5] , Linux (och andra UNIX ) [6] och OS/2 [7] , [8] Mac OS [9 ] [10] och BeOS [11] , MenuetOS och KolibriOS [12] . Ett exempel på ett förebyggande multitasking-system tidigare än UNIX är VMS [13] . Det används också i många inbäddade realtidsoperativsystem som FreeRTOS [ 14] .
av operativsystem | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Kärna |
| ||||
Processledning _ |
| ||||
Minneshantering och adressering | |||||
Ladda och initieringsverktyg | |||||
skal | |||||
Övrig | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |