Kaj je preklapljanje konteksta?

Eden največjih korakov naprej pri načrtovanju in delovanju centralnih procesnih enot (CPE) je nastal, ko so oblikovalci računalniških operacijskih sistemov razvili tehnike, ki uporabnikom omogočajo večopravilnost. Večopravilnost v zvezi z računalniki je praksa izvajanja dveh ali več programov hkrati. Z vidika končnega uporabnika se to morda ne zdi zapleteno ali pretirano, vendar dejansko predstavlja velik preskok v načrtovanju sistema. Pri večopravilnosti mora CPE žonglirati z vsemi operacijami za različne aktivne programe, pri čemer beleži, kje je z vsakim programom, ko uporabnik preklaplja naprej in nazaj med njimi. Preklapljanje konteksta je proces, ki omogoča CPU, da si zapomni in obnovi stanja za različne aktivne programe, kar mu omogoča dokončanje tega dejanja žongliranja.

Med preklapljanjem konteksta CPE izpusti kateri koli program, ki ga trenutno obdeluje, in shrani določeno mesto, na katerem je bil v tem programu, da lahko pozneje nadaljuje svoj napredek. Če pogledamo to v perspektivi, je preklapljanje konteksta podobno kot branje več knjig hkrati, nenehno preklapljanje med njimi in vedno zapomnitev številk strani za vsako. Informacijo o “številki strani” za programe med operacijo preklapljanja konteksta hrani blok za nadzor procesa (PCB). PCB se včasih imenuje tudi “stikalni okvir”. Te informacije so shranjene v pomnilniku znotraj dejanskega CPE-ja, dokler jih ponovno ne potrebujemo.

Preklapljanje konteksta se pojavi v treh možnih situacijah: obdelava prekinitev, večopravilnost in preklapljanje uporabnikov. Pri obdelavi prekinitev drug program “prekine” trenutni program, medtem ko se izvaja. Ko CPE prejme prekinitev, izvede preklop konteksta za preklapljanje med programom, ki se izvaja, in programom, ki zahteva takojšnje podatke. Pri večopravilnosti se CPE premika naprej in nazaj med programi, pri čemer vsakemu dodeli časovni odsek časa obdelave in izvede operacijo preklapljanja konteksta za preklop med obema. Pri nekaterih operacijskih sistemih se preklop konteksta izvede tudi med uporabniškim preklopom za operacijski sistem, čeprav to ni izrecno potrebno.

Preklapljanje konteksta lahko nadzoruje operacijski sistem ali strojna oprema računalnika. Nekateri sodobni operacijski sistemi so zasnovani tako, da nadzorujejo preklapljanje konteksta skozi sam operacijski sistem, pri čemer ne upoštevajo kakršne koli vgrajene strojne podpore za postopek. To operacijskemu sistemu omogoča, da shrani več informacij med preklopom konteksta, kar mu omogoča, da ohrani več informacij o stikalu.