Operativsystemet deler CPU'en i et multitasking-system gennem en teknik kaldet kontekstskift. Kontekstskift involverer midlertidig lagring af tilstanden for en kørende proces i hukommelsen og derefter indlæsning af tilstanden for en anden proces i CPU'en. Dette giver CPU'en mulighed for hurtigt at skifte mellem flere processer, hvilket giver det udseende af, at de kører samtidigt.
Operativsystemet bruger forskellige algoritmer til at bestemme, hvilken proces der skal køre næste gang. Almindelige algoritmer inkluderer:
- Round robin: Hver proces tildeles et tidsudsnit, og CPU'en tildeles den næste proces i køen, når dens tidsudsnit udløber.
- Prioritetsbaseret: Processer tildeles en prioritet ud fra deres betydning. Højere prioriterede processer får mere CPU-tid end lavere prioriterede processer.
- Korteste job først: Processen med den korteste forventede udførelsestid prioriteres.
- Først til mølle: Den proces, der ventede længst, prioriteres.
Valget af planlægningsalgoritme afhænger af systemets specifikke krav. Ud over kontekstskifte bruger operativsystemet også andre mekanismer til at styre deling af CPU-tid i et multitasking-system. Disse mekanismer omfatter:
- Multithreading: Tillader flere tråde at køre samtidigt inden for den samme proces.
- Symmetrisk multiprocessing: Tillader, at flere processorer bruges samtidigt.
- Procesisolering: Holder processer adskilt fra hinanden, så de ikke kan forstyrre hinanden.