V tomto článku se ponoříme do fascinujícího světa Kontext (informatika). Jde o téma, které vyvolalo v současné společnosti velký zájem, rozproudilo debaty, protichůdné názory a nekonečné úvahy. V tomto smyslu navrhujeme prozkoumat různé aspekty, které nám Kontext (informatika) nabízí, od jeho počátků až po jeho dnešní dopad. Od svého vlivu na populární kulturu až po její význam ve specifičtějších oblastech se Kontext (informatika) podařilo upoutat pozornost širokého spektra populace. Bezesporu jde o téma, které nenechává nikoho lhostejným a které si zaslouží hloubkovou analýzu, abychom pochopili jeho skutečný rozsah.
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).
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;
};
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.
V tomto článku byl použit překlad textu z článku Context (computing) na anglické Wikipedii.