Operativsystemet delar processorn i ett multitasking-system genom en teknik som kallas kontextväxling. Kontextväxling innebär att tillfälligt lagra tillståndet för en pågående process i minnet och sedan ladda tillståndet för en annan process i CPU:n. Detta gör att CPU:n snabbt kan växla mellan flera processer, vilket ger sken av att de körs samtidigt.
Operativsystemet använder olika algoritmer för att avgöra vilken process som ska köras härnäst. Vanliga algoritmer inkluderar:
- Round robin: Varje process tilldelas en tidsdel, och CPU:n tilldelas nästa process i kön när dess tidssegment löper ut.
- Prioritetsbaserad: Processer tilldelas en prioritet utifrån deras betydelse. Processer med högre prioritet ges mer CPU-tid än processer med lägre prioritet.
- Kortaste jobbet först: Processen med kortast förväntad utförandetid prioriteras.
- Först till kvarn: Den process som väntade längst prioriteras.
Valet av schemaläggningsalgoritm beror på systemets specifika krav. Utöver kontextväxling använder operativsystemet även andra mekanismer för att hantera delning av CPU-tid i ett multitasking-system. Dessa mekanismer inkluderar:
- Multithreading: Tillåter att flera trådar körs samtidigt inom samma process.
- Symmetrisk multiprocessing: Tillåter att flera processorer används samtidigt.
- Processisolering: Håller processer åtskilda från varandra så att de inte kan störa varandra.