Questão de Arquitetura de Software — Sistemas Distribuídos — UFSM 2025
Arquitetura de Software›Sistemas Distribuídos
Código
qg621778
Banca
UFSM
Órgão
UFSM
Ano
2025
Nível
Superior
Cargo
Professor EBTT - Área: Ciências Exatas e da Terra/Ciência da Computação/ Metodologia e Técnicas da Computação
Os paradigmas de passagem de mensagens e chamada remota a procedimentos (RPC) permitem que componentes de sistemas distribuídos comuniquem-se para a realização de tarefas.Em relação a esses paradigmas, considere as afirmativas a seguir.I → Passagem de mensagens pode ser síncrona ou assíncrona, enquanto RPC é sempre síncrona.II → Deadlocks podem ser um problema em sistemas de passagem de mensagens.III → RPC requer que cliente e servidor utilizem o mesmo sistema operacional.IV → A passagem de mensagens não requer uma arquitetura de memória compartilhada para funcionar corretamente.Está(ão) correta(s)
Aapenas II.
Bapenas I e III.
Capenas I e IV.
Dapenas II e IV.
Eapenas I, III e IV.
Revelar gabarito e comentário▾
GabaritoD — apenas II e IV.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Paradigmas de Comunicação em Sistemas Distribuídos
Gabarito: letra D (apenas II e IV). As afirmativas II e IV estão corretas: deadlocks podem ocorrer em sistemas de passagem de mensagens (ex.: espera circular), e a passagem de mensagens não exige memória compartilhada – ela é o próprio mecanismo de comunicação. As afirmativas I e III são falsas: RPC não é sempre síncrona (existem variantes assíncronas) e não requer que cliente e servidor usem o mesmo sistema operacional (o middleware gerencia a heterogeneidade).
A banca testa o conhecimento básico sobre esses dois paradigmas. Vamos analisar cada item individualmente.
Item I — ❌ Incorreto
Afirma que "RPC é sempre síncrona". Isso é falso. Embora a implementação clássica de RPC seja síncrona (o cliente bloqueia até receber a resposta), existem variantes assíncronas, como one-way RPC (o cliente não espera resposta), deferred synchronous RPC (o cliente continua processando e verifica depois) e callbacks. A palavra "sempre" torna a assertiva incorreta.
Item II — ✅ Correto
Deadlocks podem sim ocorrer em sistemas de passagem de mensagens. Um exemplo clássico é quando dois processos ficam bloqueados aguardando mensagens um do outro (espera circular), criando um deadlock. Isso é um problema bem conhecido em sistemas distribuídos, especialmente com comunicação síncrona.
Item III — ❌ Incorreto
RPC foi projetado justamente para permitir comunicação entre processos em diferentes sistemas operacionais. O middleware (ex.: DCE, CORBA, gRPC) cuida da conversão de dados, empacotamento e protocolos de rede, abstraindo diferenças de SO. Portanto, não há exigência de mesmo sistema operacional.
Item IV — ✅ Correto
A passagem de mensagens é um paradigma de comunicação que não requer memória compartilhada. Ela funciona por troca explícita de mensagens pela rede, sendo independente de hardware compartilhado. É, na verdade, a alternativa à comunicação por memória compartilhada em sistemas distribuídos.
NÃO CAIA NESSA!
A afirmativa I usa o termo "sempre" para descrever RPC como síncrona. Muitos candidatos, lembrando do modelo clássico, assumem que é verdade. No entanto, RPC assíncrona é uma variação consolidada. Desconfie sempre de palavras absolutas como "sempre" ou "nunca" – elas raramente são verdadeiras em tecnologia.
Conclusão: Itens corretos: II e IV. Portanto, a alternativa que lista exatamente esses dois itens é a letra D.