Hvad er kontekstskift?
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. Fra et slutbruger synspunkt synes dette muligvis ikke kompliceret eller langsigtede, men det repræsenterer faktisk et betydeligt spring i systemdesign. Ved multitasking skal CPU'en jonglere med alle operationerne for de forskellige aktive programmer, hvor det er med hvert program, når brugeren skifter frem og tilbage mellem dem. Kontekstskift er den proces, der giver CPU'en mulighed for at huske og gendanne stater for en række aktive programmer, hvilket gør det muligt for den at afslutte denne jongleringslov.
Under kontekstskift falder CPU'en det program, det i øjeblikket håndterer, og lagrer det specifikke sted, det var i i dette program, så det kan genoptage sine fremskridt senere. At sætte det i perspektivVE, kontekstskift er lidt som at læse flere bøger på samme tid og konstant skifte frem og tilbage mellem dem, mens du altid husker sidetal for hver. Oplysningerne om "sidetal" til programmer under en kontekstskiftningsoperation ejes af Process Control Block (PCB). PCB kaldes også undertiden som "switchframe." Disse oplysninger gemmes i hukommelsen inden for den faktiske CPU, indtil det er nødvendigt igen.
Kontekstkontakt forekommer i tre mulige situationer: afbrydelseshåndtering, multitasking og brugerskift. Ved afbrydelse af håndtering "afbryder et andet program" det aktuelle program, mens det kører. Når CPU'en modtager afbrydelsen, udfører den en kontekstkontakt til at jonglere mellem det kørende program og programmet, der anmoder om øjeblikkelige data. Ved multitasking flopper CPU frem og tilbage mellem programmerne, hvilket giver en tidsskive af behandlingen TIMig til hver og udfører en kontekstskiftningsoperation for at ændre sig mellem de to. For nogle operativsystemer udføres en kontekstafbryder også under en brugerkontakt til operativsystemet, skønt dette ikke udtrykkeligt er påkrævet.
Enten kan operativsystemet eller computerens hardware kontrollere kontekstskift. Nogle moderne operativsystemer og er designet til at kontrollere kontekstskift gennem selve operativsystemet og ignorere enhver indbygget hardwarestøtte til proceduren. Dette gør det muligt for operativsystemet at gemme mere information under en kontekstafbryder, så det kan bevare mere information om kontakten.