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
- semáforos ou versioning.
- transações ou algoritmos wait-free.
- semáforos ou acesso atômico.
- lazy synchronization ou transações.
- 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