FC ConcursosFC Concursos

Questão FC406287

A programação com memória compartilhada refere-se a um modelo de programação em que múltiplos threads ou processos compartilham o mesmo espaço de memória, permitindo que eles acess

Questões sem classificação de assunto (TI - Organização e Arquitetura dos Computadores)

FGV · 2024

A programação com memória compartilhada refere-se a um modelo de programação em que múltiplos threads ou processos compartilham o mesmo espaço de memória, permitindo que eles acessem e modifiquem os mesmos dados.Isso geralmente é implementado em sistemas multicore ou multiprocessadores, onde várias unidades de processamento têm acesso simultâneo à memória principal. Para evitar condições de corrida, isto é, uma situação em que o resultado depende do tempo preciso de acessos de leitura e escrita ao mesmo local na memória principal, ao trabalhar com memória compartilhada, podem ser utilizados mecanismos de exclusão mútua, como o uso de

  1. semáforos ou versioning.
  2. transações ou algoritmos wait-free.
  3. semáforos ou acesso atômico.
  4. lazy synchronization ou transações.
  5. acesso atômico ou algoritmos wait-free.
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A alternativa correta aponta dois mecanismos comuns para evitar condições de corrida: semáforos e acesso atômico. Ambos controlam o acesso à seção crítica, onde dados compartilhados são lidos ou modificados.

Um semáforo é uma estrutura de sincronização que pode ser binária (mutex) ou de contagem. As operações clássicas são P (wait/acquire) e V (signal/release): um thread chama P para entrar na seção crítica e bloqueia se o semáforo estiver indisponível; ao sair, chama V para liberar. Isso garante exclusão mútua e evita interleaving indesejado.

O acesso atômico usa instruções de hardware (como test-and-set, compare-and-swap (CAS)) que executam leitura-modificação-gravação como uma única operação indivisível. Permite construir locks e algoritmos lock-free/wait-free, reduzindo contenção e overhead de bloqueio.

Ambos os métodos visam garantir consistência dos dados compartilhados, escolhendo-se conforme desempenho e complexidade desejados.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo