Kontext (informatika)

Z Wikipedie, otevřené encyklopedie

V informatice je kontext, také kontext úlohy, minimální množství údajů (dat) používaný úlohou (procesem nebo vláknem), které se musí uchovat – uložit, aby bylo možné zpracování úlohy přerušit a později pokračovat ze stejného místa, kde bylo zpracování úlohy přerušeno.

Koncept kontextu nabývá na významu v případě přerušitelných (preemptivních) úloh, kdy po přerušení procesor – také centrální procesorová jednotka (anglicky central processing unit; CPU) – uloží – také změní, neboli přepne – kontext, a pokračuje v obsluze rutiny obsluhy přerušení. Čím je tedy kontext menší, tím menší je také reakční čas – latence.

Kontextová data – údaje patřící do kontextu úlohy, mohou být uložena v registrech procesoru, v paměti RAM používané úlohou, nebo v řídicích registrech používaných některými operačními systémy pro správu (řízení) úlohy, viz Unix.

Datové úložiště (soubory používané úlohou) se v případě přepnutí (změny) kontextu úlohy za její kontextová data nepovažují, přestože se pro některé případy ukládat mohou, jako je tomu v případě použití tzv. kontrolního bodu (anglicky checkpointing).

Typy kontextu[editovat | editovat zdroj]

V počítačových jazycích jako je C# existuje koncept tzv. zabezpečného kontextu (anglicky safe/secure context). Například, je-li potřeba mít uvnitř struktury pole, lze ho do ní od verze 2.0 přidat, ale pouze v tzv. nezabezpečném kontextu (anglicky unsafe/unsecure context):[1]

struct ParameterRepresentation
{
    char target;
    char taskStart;
    char taskType;
    fixed byte traceValues[m_MAX_BYTES];
};

Klíčové slovo fixed zabraňuje tomu, aby garbage collector tuto proměnnou přemístil. Přístup k poli je podobný jako v C++, tedy pomocí aritmetiky ukazatelů, také ukazatelová aritmetika (anglicky pointer arithmetic), kdy lze k jednotlivým prvkům daného pole přistupovat přes jeho indexy.

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Context (computing) na anglické Wikipedii.

  1. C# Programming/Classes - Wikibooks, open books for an open world. en.wikibooks.org [online]. [cit. 2021-12-19]. Dostupné online. (anglicky) 

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]

  • Context [online]. S-Cube: European Network of Excellence [cit. 2021-12-19]. Dostupné online.