Operativsystemet deler CPU i et multitasking-system gjennom en teknikk som kalles kontekstbytte. Kontekstbytte innebærer midlertidig lagring av tilstanden til en kjørende prosess i minnet og deretter laste inn tilstanden til en annen prosess inn i CPU. Dette gjør at CPU-en raskt kan bytte mellom flere prosesser, noe som gir inntrykk av at de kjører samtidig.
Operativsystemet bruker ulike algoritmer for å bestemme hvilken prosess som skal kjøres neste gang. Vanlige algoritmer inkluderer:
- Round robin: Hver prosess tildeles en tidsdel, og CPU-en tilordnes neste prosess i køen når tidsdelen utløper.
- Prioritetsbasert: Prosesser er tildelt en prioritet basert på deres betydning. Høyere prioriterte prosesser gis mer CPU-tid enn lavere prioriterte prosesser.
- Korteste jobb først: Prosessen med kortest forventet gjennomføringstid prioriteres.
- Førstemann til mølla: Prosessen som har ventet lengst blir prioritert.
Valget av planleggingsalgoritme avhenger av de spesifikke kravene til systemet. I tillegg til kontekstbytte, bruker operativsystemet også andre mekanismer for å administrere deling av CPU-tid i et multitasking-system. Disse mekanismene inkluderer:
- Flertråding: Lar flere tråder kjøres samtidig innenfor samme prosess.
- Symmetrisk multiprosessering: Lar flere prosessorer brukes samtidig.
- Prosessisolering: Holder prosesser adskilt fra hverandre slik at de ikke kan forstyrre hverandre.