Hva er kontekstbytte?
Et av de største skrittene fremover i prosjekteringen og driften av sentrale prosesseringsenheter (CPUer) kom da designerne av operativsystemer for datamaskiner utviklet teknikker for å tillate brukere å multitaske. Multitasking med referanse til datamaskiner er praksisen med å kjøre to eller flere programmer samtidig. Fra sluttbrukers synspunkt kan dette ikke virke komplisert eller innhentet, men det representerer faktisk et betydelig sprang i systemdesign. I multitasking må CPU-en sjonglere med alle operasjoner for de forskjellige aktive programmene, registrere hvor det er med hvert program når brukeren veksler frem og tilbake mellom dem. Kontekstbytte er prosessen som gjør at CPU-en kan huske og gjenopprette tilstander for en rekke aktive programmer, slik at den kan fullføre denne sjongleringshandlingen.
Under kontekstbytte slipper CPU-en hvilken som helst program den nå håndterer, og lagrer det bestemte stedet den var i det programmet, slik at den kan fortsette fremdriften senere. For å sette det i perspektiv er kontekstveksling litt som å lese flere bøker på samme tid, hele tiden skifte frem og tilbake mellom dem mens du alltid husker sidetallene for hver. Informasjon om "sidetall" for programmer under en kontekstbryteroperasjon holdes av prosessstyringsblokken (PCB). PCB blir også noen ganger referert til som "switchframe." Denne informasjonen lagres i minnet i den faktiske CPU-en, helt til den er nødvendig igjen.
Kontekstbytte skjer i tre mulige situasjoner: avbryt håndtering, multitasking og brukerskifte. Ved håndtering av avbrudd "avbryter" et annet program det gjeldende programmet mens det kjører. Når CPU-en mottar avbruddet, utfører den en kontekstbryter for å sjonglere mellom det kjørende programmet og programmet som ber om umiddelbar data. I multitasking floper CPU-en frem og tilbake mellom programmene, og gir en tidsdel av behandlingstiden til hver og utfører en kontekstbryteroperasjon for å skifte mellom de to. For noen operativsystemer utføres også en kontekstbryter under en brukerbryter for operativsystemet, selv om dette ikke uttrykkelig er nødvendig.
Enten kan operativsystemet eller datamaskinens maskinvare kontrollere kontekstbytte. Noen moderne operativsystemer og er designet for å kontrollere kontekstomkobling gjennom selve operativsystemet, og ignorere all innebygd maskinvarestøtte for prosedyren. Dette gjør at operativsystemet kan lagre mer informasjon under en kontekstbryter, slik at det kan bevare mer informasjon om bryteren.