Hvad er kontektskift?
Et af de største skridt fremad i design og drift af centrale behandlingsenheder (CPU'er) kom, da designerne af computeroperativsystemer udviklede teknikker til at give brugerne mulighed for at multitaske. Multitasking med henvisning til computere er praksis med at køre to eller flere programmer på samme tid. Set fra slutbrugeren kan dette muligvis ikke virke kompliceret eller fjernet, men det repræsenterer faktisk et betydeligt spring i systemdesign. I multitasking skal CPU'en jonglere med alle operationer for de forskellige aktive programmer og registrere, hvor det er med hvert program, når brugeren skifter frem og tilbage mellem dem. Kontekstskifte er den proces, der gør det muligt for CPU at huske og gendanne tilstande for en række aktive programmer, hvilket gør det muligt for den at gennemføre denne jongleringshandling.
Under kontekstskift slipper CPU'en uanset hvilket program den i øjeblikket håndterer og gemmer det specifikke sted, det var i det program, så den kan genoptage sin fremgang senere. For at sætte det i perspektiv er kontekstskifte lidt som at læse flere bøger på samme tid, konstant skifte frem og tilbage mellem dem, mens du altid husker sidetallene for hver. Informationen om "sidetal" til programmer under en kontekstomskiftningsoperation opbevares af processtyringsblokken (PCB). PCB omtales også undertiden som "switchframe." Disse oplysninger gemmes i hukommelsen i den aktuelle CPU, indtil de er nødvendige igen.
Kontektskifting sker i tre mulige situationer: afbrydelse af håndtering, multitasking og brugerskift. Ved håndtering af afbrydelser "afbryder" et andet program det aktuelle program, mens det kører. Når CPU'en modtager afbrydelsen, udfører den en kontekstkontakt for at jonglere mellem det kørende program og det program, der anmoder om øjeblikkelig data. I multitasking flops CPU'en frem og tilbage mellem programmerne, hvilket giver en tidsdel for behandlingstid til hver og udfører en kontekstskiftningsoperation for at skifte mellem de to. For nogle operativsystemer udføres en kontekstkontakt også under en brugerkontakt til operativsystemet, skønt dette ikke udtrykkeligt er påkrævet.
Enten kan operativsystemet eller computerens hardware kontrollere kontekstskifte. Nogle moderne operativsystemer og er designet til at kontrollere kontekstskifte gennem selve operativsystemet og ignorere enhver indbygget hardwarestøtte til proceduren. Dette gør det muligt for operativsystemet at gemme flere oplysninger under en kontekstkontakt, hvilket gør det muligt for det at bevare flere oplysninger om kontakten.