Co je přepínání kontextu?
Jeden z největších kroků vpřed při navrhování a provozu centrálních procesorových jednotek (CPU) přišel, když návrháři počítačových operačních systémů vyvinuli techniky, které uživatelům umožňují multitask. Multitasking ve vztahu k počítačům je praxe provozování dvou nebo více programů současně. Z pohledu koncového uživatele se to nemusí zdát komplikované nebo zdlouhavé, ale ve skutečnosti představuje značný skok v návrhu systému. Ve vícesložkovém zpracování musí CPU žonglovat všemi operacemi pro různé aktivní programy a zaznamenávat, kde je, s každým programem, kdy se uživatel mezi nimi přepíná tam a zpět. Přepínání kontextu je proces, který umožňuje CPU zapamatovat si a obnovit stavy pro celou řadu aktivních programů, což mu umožňuje dokončit tento žonglérský akt.
Během přepínání kontextu CPU vypustí jakýkoli program, s nímž aktuálně pracuje, a uloží konkrétní místo, ve kterém se v tomto programu nachází, aby mohl pokračovat v dalším postupu. Abych to uvedl v perspektivě, přepínání kontextu je trochu jako čtení více knih současně, neustále přepínání mezi nimi a stále si pamatující čísla stránek pro každou z nich. Informace „číslo stránky“ pro programy během operace přepínání kontextu jsou drženy řídicím blokem procesu (PCB). PCB je také někdy označována jako "switchframe". Tato informace je uložena v paměti ve skutečném CPU, dokud není potřeba znovu.
Přepínání kontextu nastává během tří možných situací: přerušení zpracování, multitasking a přepínání uživatelů. Při zpracování přerušení jiný program „přeruší“ aktuální program, zatímco je spuštěn. Jakmile CPU přijme přerušení, provede kontextový přepínač pro přepínání mezi spuštěným programem a programem vyžadujícím okamžitá data. V multitaskingu CPU propadá tam a zpět mezi programy, každému dává časový úsek zpracování a provádí operaci přepínání kontextu, aby se mezi nimi změnil. U některých operačních systémů je kontextový přepínač také prováděn během uživatelského přepínače pro operační systém, i když to není výslovně nutné.
Přepínání kontextu může ovládat operační systém nebo hardware počítače. Některé moderní operační systémy a jsou navrženy tak, aby řídily přepínání kontextu prostřednictvím samotného operačního systému a ignorovaly jakoukoli vestavěnou hardwarovou podporu postupu. To umožňuje operačnímu systému ukládat více informací během přepínače kontextu, což mu umožňuje zachovat více informací o přepínači.