Co je to přepínání kontextu v operačním systému?

Přepínání kontextu zahrnuje ukládání kontextu nebo stavu procesu, aby jej bylo možné v případě potřeby znovu načíst a pokračovat v provádění od stejného bodu jako dříve. Jedná se o vlastnost víceúlohového operačního systému, která umožňuje, aby jeden procesor sdílelo více procesů.

Schéma, které demonstruje přepínání kontextu, je následující –

Na výše uvedeném schématu je zpočátku spuštěn proces č. 1. Proces 1 je vypnut a proces 2 je přepnut z důvodu přerušení nebo systémového volání. Přepínání kontextu zahrnuje uložení stavu procesu 1 do PCB1 a načtení stavu procesu 2 z PCB2. Po určité době opět dojde k přepnutí kontextu a proces 2 je vypnut a proces 1 je opět zapnut. To zahrnuje uložení stavu procesu 2 do PCB2 a načtení stavu procesu 1 z PCB1.

Spouštěče přepínání kontextu

Existují tři hlavní spouštěče přepínání kontextu. Jsou uvedeny následující –

  • Multitasking: V prostředí multitaskingu je proces přepnut z CPU, aby mohl být spuštěn jiný proces. Stav starého procesu se uloží a načte se stav nového procesu. V preemptivním systému může procesy vypínat plánovač.

  • Obsluha přerušení: Hardware přepíná část kontextu, když dojde k přerušení. K tomu dochází automaticky. Změní se pouze část kontextu, aby se minimalizoval čas potřebný ke zpracování přerušení.

  • Přepínání režimu uživatele a jádra: K přepnutí kontextu může dojít, když je v operačním systému vyžadován přechod mezi uživatelským režimem a režimem jádra.

Kroky přepínání kontextu

Kroky spojené s přepínáním kontextu jsou následující –

  • Uložení kontextu procesu, který právě běží na procesoru. Aktualizujte řídicí blok procesu a další důležitá pole.
  • Přesuňte řídicí blok procesu výše uvedeného procesu do příslušné fronty, jako je fronta připravenosti, fronta I/O atd.
  • Vyberte nový proces k provedení.
  • Aktualizujte řídicí blok procesu vybraného procesu. To zahrnuje aktualizaci stavu procesu na běžící.
  • Aktualizujte datové struktury správy paměti podle potřeby.
  • Obnovte kontext dříve spuštěného procesu, když je znovu načten na procesoru. To se provádí načtením předchozích hodnot řídicího bloku procesu a registrů.

Náklady na přepínání kontextu

Přepínání kontextu vede k režijním nákladům kvůli proplachování TLB, sdílení mezipaměti mezi více úlohami, spuštění plánovače úloh atd. Přepínání kontextu mezi dvěma vlákny stejného procesu je rychlejší než mezi dvěma různými procesy, protože vlákna mají stejné mapy virtuální paměti. Z tohoto důvodu není proplachování TLB nutné.

raja

Publikováno 28.09.2018 15:31:15

Reklamace

Leave a Reply