Što je promjena konteksta?

Jedan od najvećih koraka naprijed u dizajnu i radu središnjih procesorskih jedinica (CPU) dogodio se kada su dizajneri računalnih operacijskih sustava razvili tehnike koje korisnicima omogućuju višezadaćnost. Multitasking u odnosu na računala je praksa pokretanja dva ili više programa u isto vrijeme. Sa stajališta krajnjeg korisnika, ovo se možda ne čini kompliciranim ili pretjesnim, ali zapravo predstavlja značajan skok u dizajnu sustava. U multitaskingu, CPU mora žonglirati svim operacijama za različite aktivne programe, bilježeći gdje se nalazi sa svakim programom dok se korisnik prebacuje naprijed-natrag između njih. Prebacivanje konteksta je proces koji omogućuje CPU-u da zapamti i vrati stanja za razne aktivne programe, omogućujući mu da dovrši ovaj čin žongliranja.

Tijekom promjene konteksta, CPU ispušta bilo koji program kojim trenutno rukuje, pohranjujući određeno mjesto na kojem je bio u tom programu kako bi kasnije mogao nastaviti svoj napredak. Da to stavimo u perspektivu, mijenjanje konteksta je poput čitanja više knjiga u isto vrijeme, stalnog prebacivanja između njih i uvijek pamte brojeve stranica za svaku. Informaciju o “broju stranice” za programe tijekom operacije promjene konteksta drži kontrolni blok procesa (PCB). PCB se ponekad naziva i “okvir sklopke”. Ove informacije se pohranjuju u memoriju unutar stvarnog CPU-a, sve dok ponovno ne budu potrebne.

Prebacivanje konteksta događa se tijekom tri moguće situacije: rukovanje prekidima, višezadaćnost i prebacivanje korisnika. U rukovanju prekidima, drugi program “prekida” trenutni program dok je pokrenut. Nakon što CPU primi prekid, on izvodi prebacivanje konteksta za žongliranje između programa koji se izvodi i programa koji zahtijeva trenutne podatke. U multitaskingu, CPU se kreće naprijed-natrag između programa, dajući vremenski odsječak vremena obrade svakom i izvodeći operaciju promjene konteksta za promjenu između programa. Za neke operacijske sustave, promjena konteksta se također izvodi tijekom promjene korisnika za operativni sustav, iako to nije izričito potrebno.

Operativni sustav ili hardver računala mogu kontrolirati prebacivanje konteksta. Neki moderni operativni sustavi i dizajnirani su za kontrolu prebacivanja konteksta kroz sam operacijski sustav, zanemarujući bilo kakvu ugrađenu hardversku podršku za proceduru. To operativnom sustavu omogućuje spremanje više informacija tijekom promjene konteksta, dopuštajući mu da sačuva više informacija o prebacivanju.