Kontext (informatika)
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, můžou 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 můžou, jako je tomu v případě použití tzv. kontrolního bodu (anglicky checkpointing).
Typy kontextu
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
Reference
V tomto článku byl použit překlad textu z článku Context (computing) na anglické Wikipedii.
- 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
Externí odkazy
- Context [online]. S-Cube: European Network of Excellence [cit. 2021-12-19]. Dostupné online.