Você está na página 1de 4

Sistemas de Informação

DISCIPLINA Sistemas distribuídos Valor: 10,0 Nota:


PROFESSOR Marília Costa Machado Leal Data para entrega: 24/02/2022
ALUNO(a) Gustavo da Silva Aguiar

Lista de Exercícios sobre Comunicação entre processos em sistemas distribuídos.

1) Explique porque comunicação transiente síncrona pode resultar em problemas de


escalabilidade e como estes problemas poderiam ser resolvidos.
R- Pode causar problemas de escalabilidade porque a comunicação síncrona exige
que o chamador seja bloqueado até que a mensagem seja recebida, isso pode levar
um longo tempo até que um chamador continue quando o receptor estiver longe. A
única maneira de resolver esse problema é projetar o aplicativo de chamada para que
ele tenha outro trabalho útil para fazer enquanto a comunicação ocorre, e
efetivamente estabelecer uma forma de comunicação assíncrona.

2) A comunicação entre processos em um sistema distribuído pode se dar utilizando-se


os serviços de comunicação fornecidos pela camada de transporte. Por que, no
entanto, está nem sempre é uma opção adequada?
R- Em aplicações tradicionais de rede, a comunicação costuma ser baseada nas
primitivas de troca de mensagem de baixo nível oferecidas pela camada de
transporte. Uma questão importante em sistema middleware é oferecer um nível mais
alto de abstração que facilitará expressar comunicação entre processos mais do que
o suporte oferecido pela interface com a camada de transporte.

3) Qual a diferença entre RPC síncrono e RPC assíncrono?


R- Transmissão assíncrona, itens no stream são transmitidos um após outro sem
restrições temporais. Transmissão síncrona, existe um retardo máximo definido para
cada unidade sem importar se a transferência é mais rápida.
4) Descreva o mecanismo de RPC e discuta como ele contribuiu para o avanço de
sistemas distribuídos
R- RPC é uma tecnologia popular para a implementação do modelo cliente-servidor
de computação distribuída. É um protocolo que um programa pode usar para
requisitar serviço de outro programa localizado em outro computador na rede, sem ter
nenhum entendimento sobre os detalhes de localização. Uma chamada de
procedimento é também conhecida como uma chamada de função ou uma chamada
de sub-rotina. Este tipo de protocolo utiliza o modelo cliente-servidor, onde um
programa (cliente) solicita o serviço em outra máquina (servidor). RPC é um tipo de
protocolo requisição-resposta.
Ele é iniciado por um cliente que envia uma requisição em formato de
mensagem para um servidor remoto. Lá é executada, a partir de um procedimento já
conhecido entre as partes, a requisição com os argumentos. O servidor remoto envia
para o cliente a resposta do que foi processado. Enquanto o servidor está
processando o conteúdo, o cliente fica bloqueado esperando o resultado (enquanto o
servidor executa o procedimento e retorna o valor), a não ser que este cliente envie
uma requisição assíncrona ao servidor, como uma chamada XHTTP.
A utilização de um RPC facilita o desenvolvimento de sistemas distribuídos
pois permite a utilização de semânticas claras e diretas. O que torna fácil transferir o
gasto computacional para os servidores, ou até mesmo possibilitando a utilização de
procedimentos que não poderiam funcionar localmente. Além de diminuir a
necessidade de reescrita de código.

5) Faça uma pesquisa na internet e descreva as características da Comunicação de


computadores utilizando Sockets.
R- Socket é uma interface de comunicação bidirecional entre processos através de
uma rede de computadores. Essa mesma interface permite que essa comunicação
utilize diversas famílias de protocolos (Unix domain, Internet domain, Xerox NS
domain).
Sockets são representados como descritores de arquivos e podem permitir a
comunicação entre processos distintos na mesma máquina ou em máquinas distintas,
através de uma rede. Os sockets são a base da comunicação em redes TCP/IP e
também são muito usados em comunicações entre processos no interior de um
mesmo computador. Essa comunicação é baseada no paradigma cliente –servidor.
Eles normalmente são identificados como uma interface entre a camada de
aplicação e a camada de transporte que também tem a função de servir como
interface de programação pela qual as aplicações de rede são inseridas na Internet (=
Interface de Programação de Aplicação – API).
A interface padronizada de soquetes surgiu originalmente no sistema
operacional Unix BSD (Berkeley Software Distribution); portanto, eles são muitas
vezes chamados de Berkeley Sockets. É também uma abstração computacional que
mapeia diretamente a uma porta de transporte (TCP ou UDP) e mais um endereço de
rede. Com esse conceito é possível identificar unicamente um aplicativo ou servidor
na rede de comunicação IP.
Um bom exemplo de um estabelecimento de uma conexão entre computadores
através de socket seria o acesso à uma página da Internet. Um servidor Web tem a
porta 80 como porta padrão de comunicação entre os clientes. Quando digitamos um
endereço de um site no Internet Explorer do Windows, automaticamente esse
endereço é convertido em seu respectivo endereço IP. Se estamos numa rede, nosso
micro tem um único endereço IP. E finalmente, junto deste processo, uma porta em
seu computador é disponibilizada dinamicamente, sendo um número maior que 1024,
para esta conexão. Então, temos todas as informações necessárias para estabelecer
a conexão, tendo assim um socket. O cliente, no caso de uma conexão à uma página
da Internet, é quem a solicita através de um browser (Internet Explorer, por exemplo),
e o servidor é quem disponibiliza a página para ser acessada.
Muito do que fazemos no dia a dia faz uso de sockets. O nosso navegador
utiliza sockets para requisitar as páginas; quando acessamos o nosso servidor pelo
protocolo de aplicação SSH também estamos abrindo e utilizando um socket.

6) Faça uma pesquisa na internet e descreva as vantagens e desvantagens da


Comunicação orientada a mensagem.
R- Vantagens
 O paradigma de comunicação por mensagens é simples, natural e fácil de
entender.
 A reconfiguração de sistemas é simplificada, pois os participantes não
precisam conhecer os endereços uns dos outros os endereços uns dos outros,
basta saberem onde é mantida a fila de mensagens.
 Participantes da comunicação não precisam se sincronizar para trocar dados, o
que reduz o tempo ocioso durante a comunicação.
 Participantes não precisam estar Participantes não precisam estar
permanentemente conectados à rede, basta conectar para enviar/receber
mensagens.
Desvantagens
 Exigência de um elemento central responsável pelo gerenciamento das filas de
mensagens.
 Problemas: ponto único de falha; gargalo na comunicação. Solução: replicar
esse elemento
 A comunicação assíncrona pode retardar a entrega de mensagens.
 Problema para aplicações com requisitos de desempenho. Solução: filas com
prioridades de entrega.

Você também pode gostar