Kooperativ multitasking:
1. Opgaveafkast: I cooperativ multitasking opgiver opgaver frivilligt kontrollen over processoren til andre opgaver. Dette opnås gennem en "udbytte"-erklæring eller tilsvarende mekanisme i programmeringssproget.
2. Tilhængighed af opgavesamarbejde: Hver opgave er ansvarlig for eksplicit at opgive kontrollen over CPU'en for at tillade andre opgaver at udføre. Hvis en opgave ikke giver kontrol, kan hele systemet hænge eller ikke reagere.
3. Ingen prioritetsbaseret planlægning: Da opgaver samarbejder og beslutter, hvornår de skal ydes, er der ikke noget koncept med prioritetsbaseret planlægning. Alle opgaver har samme prioritet, og rækkefølgen af udførelsen afhænger udelukkende af hver opgaves eftergivende adfærd.
4. Enkelhed: Cooperativ multitasking er relativt enkel at implementere sammenlignet med forebyggende multitasking. Det kræver ikke en planlægningsmekanisme eller sofistikerede algoritmer til at styre opgaver.
5. Almindelig i tidlige operativsystemer: Kooperativ multitasking blev almindeligvis brugt i tidlige operativsystemer, hvor enkelhed blev prioriteret over ydeevne eller håndtering af komplekse arbejdsbelastninger.
Forebyggende multitasking:
1. OS kontrol over opgaveplanlægning: I forebyggende multitasking har operativsystemet (OS) kontrol over opgaveplanlægning og bestemmer, hvornår der skal skiftes opgaver. OS foregriber opgaver, der har kørt i et forudbestemt tidsudsnit, og giver andre opgaver en chance for at udføre.
2. Prioritetsbaseret planlægning: Forebyggende multitasking giver mulighed for prioritetsbaseret planlægning, hvilket betyder, at opgaver med højere prioritet gives forrang frem for opgaver med lavere prioritet. Dette sikrer bedre ressourceallokering og lydhørhed over for tidskritiske opgaver.
3. Tvungen kontekstskift: OS kan tvangssuspendere en opgaves udførelse og gemme dens tilstand i hukommelsen. Når opgaven genoptages, genoprettes dens tidligere tilstand, hvilket sikrer kontinuitet og integritet.
4. Forbedret ydeevne: Forebyggende multitasking giver mere effektiv og forudsigelig opgaveplanlægning, hvilket fører til bedre overordnet systemydeevne og reaktionsevne.
5. Kompleksitet: Forebyggende multitasking involverer mere komplekse algoritmer og mekanismer til planlægning, kontekstskift og styring af opgavetilstande, hvilket gør implementeringen mere udfordrende.
Sammenfattende er kooperativ multitasking afhængig af frivillig opgaveafkast, hvor opgaver har samme prioritet og ingen OS-kontrol over planlægning. Det er lettere at implementere, men kan føre til systemstop, hvis opgaverne ikke samarbejder. Forebyggende multitasking giver på den anden side større OS-kontrol, tillader prioritetsbaseret planlægning og sikrer forudsigelig opgaveudførelse. Det er mere effektivt og velegnet til moderne computermiljøer, der kræver høj ydeevne og lydhørhed.