Na programação distribuída, em geral faz-se uso de passagem ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
Na área de Sistemas Distribuídos, o conceito de programação distribuída é um ponto fundamental. Esta abordagem faz uso intensivo da passagem de mensagens, que é uma forma de comunicação entre processos que podem ou não compartilhar um mesmo espaço de memória.
As mensagens trocadas podem ser síncronas ou assíncronas. No contexto síncrono, o emissor espera uma resposta imediata após enviar uma mensagem, o que pode causar atraso na continuidade de sua execução até que a resposta seja recebida. Já no contexto assíncrono, o emissor pode prosseguir com sua execução sem a necessidade de esperar por uma resposta, o que favorece a concorrência e pode aumentar a eficiência do sistema.
Além da passagem de mensagens, existe a opção de compartilhamento de memória, embora seja menos comum em sistemas distribuídos devido a complexidade e desafios inerentes ao gerenciamento de memória compartilhada em múltiplas máquinas. No entanto, essa abordagem pode ser viabilizada em cenários específicos, como em sistemas centrados em banco de dados cliente-servidor, onde o banco de dados atua como um repositório central e gerencia o acesso concorrente aos dados.
Esta explicação justifica a alternativa como correta, visto que reconhece a passagem de mensagens como um método primário na programação distribuída e também aceita o uso de compartilhamento de memória em sistemas distribuídos que operam dentro de um modelo cliente-servidor.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Certo.
Por que a afirmação procede
- Passagem de mensagens é o mecanismo predominante em programação distribuída.
- – Para coordenar atividades entre processos que rodam em máquinas diferentes, a forma mais direta e portátil é enviar mensagens pela rede.
- – As mensagens podem ser síncronas, quando o emissor bloqueia até receber confirmação ou resposta, ou assíncronas, quando o emissor segue executando e trata a resposta mais tarde (via callback, future, fila etc.).
Compartilhamento de memória também é possível, mas de outra maneira.
- – Em ambientes distribuídos puros, não há memória física comum entre nós; entretanto, pode‑se simular memória compartilhada usando um repositório central acessado por todos.
- – Um exemplo clássico é o modelo cliente‑servidor com banco de dados: o SGBD mantém o estado global, e os clientes leem/escrevem nesses dados como se fosse um “espaço de memória” compartilhado.
- – Há ainda técnicas de DSM (Distributed Shared Memory) que paginam blocos de dados entre nós, porém, na prática empresarial, o banco de dados centralizado é a forma mais difundida de partilhar estado entre vários processos.
Dessa forma, a sentença está correta ao afirmar que:
- Programação distribuída costuma basear‑se em passagem de mensagens síncronas ou assíncronas;
- O compartilhamento de “memória” pode ser obtido quando todos os nós acessam um repositório único — como ocorre em sistemas cliente‑servidor centrados em banco de dados.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo