Contexto (computação)

Em ciência da computação, um contexto (processo, thread, ...) de tarefa é o conjunto de dados mínimos usados por esta tarefa que deve ser salvo para permitir uma interrupção de tarefa em um momento específico e a continuação desta tarefa no ponto que ela foi interrompida e em um momento futuro arbitrário. O conceito de contexto assume significância no caso de tarefas interruptíveis, onde ao ser interrompido o processador salva o contexto e passa a servir a rotina de serviço de interrupção. Assim quanto menor o contexto menor é a latência.

Esses dados estão localizados em:

  • Registradores do processador
  • Memória usada pela tarefa
  • Em alguns sistemas operacionais, nos registradores de controle usado pelo sistema para gerenciar a tarefa

A memória de armazenamento (arquivos) não está preocupada com o "contexto de tarefa" no caso de uma troca de contexto, mesmo que ela possa ser armazenada para algumas utilidades (checkpointing).

Tipos de contexto editar

Em algumas linguagens de programação como C#, há também o conceito de contexto seguro. Por exemplo, se é necessário uma matriz no interior de uma estrutura, ela pode ser adicionada a ela desde a versão 2.0, mas apenas em um contexto inseguro. Aqui está um código de exemplo:

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

A palavra-chave fixed impede que o coletor de lixo de realocar esta variável. O acesso a uma matriz é como em C++, ou seja, usando a aritmética de ponteiro, onde os elementos individuais da matriz podem ser acessados ​​através de seus índices.

Ver também editar

  Este artigo sobre computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.