Skip to main content

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.For at sætte det i perspektiv er kontekstskift lidt som at læse flere bøger på samme tid, konstant skifte frem og tilbage mellem dem, mens du altid husker sidetal for hver.Sidetaloplysninger for programmer under en kontekstskiftningsoperation ejes af Process Control Block (PCB).PCB kaldes også undertiden som switchframe.Denne information gemmes i hukommelsen inden for den faktiske CPU, indtil det er nødvendigt igen.

Kontekstskift forekommer i tre mulige situationer: afbrydelseshåndtering, multitasking og brugerkontakt.Ved afbrydelseshå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 behandlingstid 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 Computers -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 switch.