Programa ...
... arquivo executável estático salvo em memória secundária (disco) composto por uma sequência de instruções codificadas para um propósito específico.
Processo...
... instância de um programa em execução na memória principal, possui próprio espaço de endereçamento de memória e contexto (registradores, arquivos abertos).
Thread ...
... sequência de instruções executadas dentro de um processo. As threads de um mesmo processo compartilham o mesmo espaço de memória, agilizando a criação e troca de contextos.
Troca de contexto...
... tarefa do sistema operacional de salvar o estado (registradores, memória) do processo ou thread atual para carregar e executar o próximo.
Concorrência...
... execução de processos que compartilham o mesmo intervalo de tempo, alternando o uso da CPU tão rapidamente que gera a ilusão de simultaneidade (comum em processadores de núcleo único).
Paralelismo...
... execução de processos estritamente simultânea, ocorrendo no mesmo instante físico, possível apenas em sistemas com múltiplos núcleos.
Condição de corrida...
... falha na qual o resultado final do programa depende da ordem aleatória de execução das threads, ocorrendo quando dados compartilhados são alterados sem sincronia adequada.
Deadlock (impasse)...
... situação na qual threads ficam travadas indefinidamente esperando por recursos que estão sendo segurados umas pelas outras num ciclo de dependência.
Livelock...
... estado no qual os processos não estão travados (ativos), mas não progridem pois entram num ciclo sincronizado de liberar e travar recursos sem realizar trabalho útil.
Starvation (inanição)...
... problema no qual um processo de baixa prioridade aguarda indefinidamente por um recurso porque processos de alta prioridade estão constantemente ocupando-o.
Mutex (exclusão mútua)...
... mecanismo de sincronização (como uma chave única) que garante que apenas uma thread por vez acesse um recurso compartilhado ou região crítica de memória.
Semáforo...
... mecanismo similar ao Mutex, mas que permite controlar o acesso de um número específico (N) de threads simultâneas a um recurso (como vagas num restaurante).
Monitor...
... abstração de alto nível que implementa a exclusão mútua automaticamente em métodos ou blocos de código.
Jantar dos filósofos...
... problema clássico para ilustrar impasses (deadlocks) no qual processos (filósofos) compentem por recursos limitados e compartilhados (garfos) num ciclo.
Produtor e consumidor...
... problema de sincronização que envolve gerenciar um buffer de tamanho limitado para evitar que produtores escrevam quando cheio (overflow) ou consumidores leiam quando vazio (underflow).
Barbeiro dorminhoco...
... problema clássico que ilustra a coordenação entre uma thread de serviço (barbeiro) e threads de solicitação (clientes) usando uma sala de espera (buffer).

Voltar