Skip to main content

Hva er kontekstbytte?

Et av de største trinnene fremover i utformingen og driften av sentrale prosesseringsenheter (CPUer) kom da designerne av datamaskinoperativsystemer utviklet teknikker for å tillate brukere å multitaske.Multitasking med henvisning til datamaskiner er praksisen med å kjøre to eller flere programmer samtidig.Fra et sluttbrukers synspunkt kan dette ikke virke komplisert eller langsiktig, men det representerer faktisk et betydelig sprang i systemdesign.I multitasking må CPU sjonglere alle operasjonene for de forskjellige aktive programmene, og registrere hvor det er med hvert program når brukeren slår frem og tilbake mellom dem.Kontekstbytte er prosessen som gjør at CPU kan huske og gjenopprette tilstander for en rekke aktive programmer, slik at den kan fullføre denne sjongleringsloven.

Under kontekstbytte slipper CPU det programmet det for øyeblikket håndterer, og lagrer det spesifikke stedet det var på i det programmet slik at det kan gjenoppta fremgangen senere.For å sette det i perspektiv, er kontekstbryter litt som å lese flere bøker samtidig, og stadig bytter frem og tilbake mellom dem mens du alltid husker sidetallene for hver.Sidetallinformasjonen for programmer under en kontekstbryteroperasjon holdes av Process Control Block (PCB).PCB blir også noen ganger referert til som Switchframe.Denne informasjonen lagres i minnet i den faktiske CPU, til den er nødvendig igjen.

Kontekstbytte skjer under tre mulige situasjoner: avbruddshåndtering, multitasking og brukerbytte.I avbruddshåndtering avbryter et annet program det nåværende programmet mens det kjører.Når CPU mottar avbruddet, utfører den en kontekstbryter for å sjonglere mellom løpsprogrammet og programmet som ber om umiddelbare data.I multitasking flopper CPU frem og tilbake mellom programmene, og gir en tidsbeløp av behandlingstid til hver og utfører en kontekstbryteroperasjon for å endre 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 operativsystemet eller datamaskinens maskinvare kan kontrollere kontekstbytte.Noen moderne operativsystemer og er designet for å kontrollere kontekstbytte gjennom selve operativsystemet, og ignorerer all innebygd maskinvarestøtte for prosedyren.Dette gjør at operativsystemet kan lagre mer informasjon under en kontekstbryter, slik at den kan bevare mer informasjon om bryteren.