Un context switch è una procedura che la CPU (unità centrale di elaborazione) di un computer segue per passare da un compito (o processo) ad un altro assicurando che i compiti non siano in conflitto. Una commutazione di contesto efficace è fondamentale se un computer deve fornire un multitasking user-friendly.
In una CPU, il termine “contesto” si riferisce ai dati nei registri e al contatore del programma in un momento specifico. Un registro contiene l’istruzione corrente della CPU. Un contatore di programma, noto anche come registro dell’indirizzo dell’istruzione, è una piccola quantità di memoria veloce che contiene l’indirizzo dell’istruzione da eseguire immediatamente dopo quella corrente.
Un cambio di contesto può essere eseguito interamente in hardware (supporto fisico). Le vecchie CPU, come quelle della serie x86, lo fanno in questo modo. Tuttavia, la maggior parte delle CPU moderne eseguono i cambi di contesto tramite software (programmazione). Una CPU moderna può eseguire centinaia di cambi di contesto al secondo. Pertanto, l’utente ha l’impressione che il computer stia eseguendo più compiti in modo parallelo, quando la CPU in realtà alterna o ruota tra i compiti ad un alto tasso di velocità.