Buscar

Sistemas distribuidos - Apols 1 a 5 (Gabarito)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questão 
A comunicação entre processos baseadas em sockets, tema já abordado, normalmente é utilizada na 
implementação do modelo cliente/servidor. Nesse modelo, o cliente solicita funcionalidades que 
estão implementadas no servidor, informando os parâmetros necessários. Com base nessas 
informações e no conteúdo correlato, podemos afirmar que:
E A chamada remota de procedimentos (Remote Procedure Call, RPC) permite 
que procedimentos/métodos remotos sejam invocados de maneira transparente.
Questão
O NTP (Network Time Protocol) define uma arquitetura para atender os requisitos da internet, onde 
existem diversos servidores de tempo para sincronizar a hora. Sobre as principais características 
desse protocolo podemos afirmar que:
 I. O ajuste de horário é baseado no servidor mais próximo.
 II. É um protocolo resiliente a conexões de baixa qualidade.
III. Permite sincronizações frequentes.
 IV. Utiliza técnicas estatísticas para filtrar a latência.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
E Todas as afirmativas apresentadas estão corretas.
Questão
A sincronização de relógios é um problema clássico da computação. Diversos algoritmos foram 
propostos para solucionar esse problema. O algoritmo de Christian foi um dos pioneiros. O 
algoritmo considera o relógio físico para realizar a sincronização. Analise as afirmativas a seguir 
sobre este algoritmo:
 I. O algoritmo de Christian parte da premissa que a rede dispõe de um servidor de tempo, 
denominado Autoridade.
 II. O servidor de tempo fornece o horário oficial, e todas as outras máquinas são sincronizadas com
base nesse horário.
III. Quando um determinado processo cliente solicita o horário ao servidor, o servidor atende a 
solicitação informando o horário atual, que passa a ser o horário deste processo.
IV. O algoritmo considera a latência (delay) da rede no momento da sincronização, a qual é 
acrescentada ao horário do servidor.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
D I, II e IV.
Questão
O algoritmo de Bully, também chamado de Bullyng, é um dos algoritmos pioneiros para resolver o 
desafio da eleição. Como seu nome sugere, o algoritmo define que o processo mais forte deve ser o 
coordenador. Sobre este algoritmo podemos afirmar que:
E Todas as alternativas apresentadas estão corretas.
Questão 
A chamada remota de procedimentos (RPC - Remote Procedure Call) permite que procedimentos 
ou métodos remotos sejam invocados de maneira transparente. Ou seja, as chamadas remotas são 
programadas da mesma forma - sob a ótica do programador - que as chamadas de procedimentos ou
métodos locais. Essa técnica foi idealizada para programar um sistema distribuído como se fosse 
um sistema centralizado. Sobre as abordagens relativas ao uso dessas técnicas, avalie as afirmativas 
a seguir como (F) Falsas ou (V) Verdadeiras:
( ) A Chamada Remota de Procedimento (RPC - Remote Procedure Call) é utilizada principalmente
em linguagens procedurais como C, Delphi, e etc.
( ) A Invocação Remota de Métodos (RMI - Remote Method Invocation) é utilizada em linguagens 
orientadas a objeto, tais como Java, C++, C#.
( ) Todas as abordagens dessas técnicas aumentam o nível de abstração para o programador, 
obrigando-o a utilizar somente os sockets.
( ) A vantagem da chamada remota de procedimentos é não utilizar-se de sockets, já que pode usar 
tanto UDP ou TCP.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
A V – V – F - F.
Questão
Segundo Mell e Grance (2011), a computação em nuvem é “um paradigma que permite o acesso de 
rede ubíquo e sob demanda a um repositório compartilhado de recursos computacionais, 
aparentemente infinitos que podem ser facilmente providos e liberados com esforço mínimo de 
gerenciamento”. Sobre a computação em nuvem, avalie as afirmativas a seguir como (F) Falsas ou 
(V) Verdadeiras:
( ) A computação em nuvem é um paradigma que permite o acesso de rede a partir de qualquer 
dispositivo.
( ) A computação em nuvem utiliza um repositório compartilhado de recursos computacionais..
( ) Na computação em nuvem todas as organizações têm acesso à todas as informações devido ao 
conceito de virtualização.
( ) Em um ambiente de computação em nuvem o usuário deve-se preocupar constantemente com a 
capacidade, pois os recursos se mostram como finitos.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
A V – V – F - F.
Questão 
A Arquitetura Orientada a Serviços (Service Oriented Architecture - SOA) é uma arquitetura de 
sistemas cujo princípio fundamental prega que as funcionalidades dos sistemas devem ser 
disponibilizadas em forma de serviços. Por se tratar de uma arquitetura, SOA necessita de um 
mecanismo que implemente seus conceitos e adicionalmente materialize suas filosofias, os web 
services. Avalie as afirmativas a seguir sobre SOA e webservices:
I. SOA - Service Oriented Architecture e web services são sinônimos, pois representam a mesma 
abordagem de construção de sistemas distribuídos.
II. A relação entre SOA e web services é semelhante à relação entre uma classe e um objeto em 
programação orientada a objetos.
III. SOA é uma arquitetura de sistemas cujo princípio fundamental prega que as funcionalidades dos
sistemas devem ser disponibilizadas em forma de classes e objetos.
IV. Os Web services definem protocolos que são usados na comunicação, no formato da interface e 
do contrato dos serviços.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
D II e IV.
Questão 
Em um ambiente virtualizado o provisionamento de recursos sob demanda significa que o 
consumidor pode aumentar ou reduzir de maneira flexível os recursos computacionais conforme sua
demanda, sem interação humana com o provedor de serviços. Ou seja, o consumidor altera a 
capacidade através do próprio sistema. Sobre isso é correto afirmar que:
B A computação em nuvem é baseada inteiramente nos conceitos de elasticidade e 
escalabilidade.
Questão
A tecnologia de web services é um conjunto de padrões que cobrem a interoperabilidade. Os web 
services definem os protocolos que são usados na comunicação, no formato da interface e do 
contrato dos serviços. Os web services evoluíram o conceito da chamada de remota a 
procedimentos (RPC) devido a alguns problemas encontrados nessa tecnologia. Sobre estes 
problemas é correto afirmar que:
B Problemas relativos à comunicação entre processos como o alto acoplamento e a
baixa interoperabilidade ainda são encontrados nessas tecnologias.
Questão
A Invocação Remota de Métodos (Remote Method Invocation - RMI) é utilizada em linguagens de 
programação orientada a objeto, tais como Java, C++ e C#, e algumas boas práticas são 
recomendadas para quando estamos trabalhando com o RMI. Analise as afirmativas a seguir sobre 
estas boas práticas:
 I - Para o servidor associar um objeto a um nome é recomendável utilizar o método rebind ao invés
do método bind.
 II - O método rebind associa o nome a um objeto e, caso esse nome já esteja registrado, ele o 
atualiza.
III - O método rebind também lança uma exceção caso o nome do objeto já esteja registrado.
IV - O Remote Method Invocation - RMI também permite que os objetos sejam serializados e 
desserializados por meio da rede.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
D I, II e IV.
Questão
Com base na proposta de solução do problema de sincronismo de relógio usando o algoritmo de 
Christian, avalie as afirmativas a seguir:
 I. A maior desvantagem do uso desse algoritmo é a consideração da latência (delay) da rede no 
momento da sincronização.
 II. Quando um determinado processo (cliente) solicita o horário ao servidor, o servidor atende a 
solicitação informandoo horário atual.
III. A latência é calculada por meio da soma dos tempos de envio e recebimento da mensagem com 
o tempo de processamento da mesma pelo servidor.
 IV. Quando o cliente recebe a resposta do servidor, acrescenta o tempo médio de troca de 
mensagens ao horário recebido.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
D II e IV.
Questão
A chamada remota de procedimentos (RPC - Remote Procedure Call) permite que procedimentos 
ou métodos remotos sejam invocados de maneira transparente. Ou seja, as chamadas remotas são 
programadas da mesma forma - sob a ótica do programador - que as chamadas de procedimentos ou
métodos locais. Essa técnica foi idealizada para programar um sistema distribuído como se fosse 
um sistema centralizado. Sobre as abordagens relativas ao uso dessas técnicas, avalie as afirmativas 
a seguir como (F) Falsas ou (V) Verdadeiras:
( ) A Chamada Remota de Procedimento (RPC - Remote Procedure Call) é utilizada principalmente
em linguagens procedurais como C, Delphi, e etc.
( ) A Invocação Remota de Métodos (RMI - Remote Method Invocation) é utilizada em linguagens 
orientadas a objeto, tais como Java, C++, C#.
( ) Todas as abordagens dessas técnicas aumentam o nível de abstração para o programador, 
obrigando-o a utilizar somente os sockets.
( ) A vantagem da chamada remota de procedimentos é não utilizar-se de sockets, já que pode usar 
tanto UDP ou TCP.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
A V – V – F - F.
Questão
Para estabelecer o fluxo de comunicação entre os processos é utilizado um Socket de rede, sendo 
que atualmente praticamente todas as comunicações são baseadas em Sockets. Avalie as afirmações 
sobre Sockets apresentadas a seguir:
 I. Socket é um ponto de comunicação (endpoint) entre dois processos, sendo composto de um 
endereço e uma porta.
 II. A comunicação entre processos consiste na transmissão de mensagens entre sockets alocados 
por estes processos.
III. No modelo cliente-servidor tradicional, o servidor fica aguardando a conexão de um cliente em 
uma porta específica.
 IV. No modelo cliente-servidor tradicional, o servidor fica aguardando a conexão de um cliente 
somente pela porta 80.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
C I, II e III.
Questão 
A comunicação entre os nós de um SD é realizada através de mensagens. Para enviar uma 
mensagem utilizando os protocolos padrões de internet, precisamos basicamente de duas 
informações: endereço da máquina e a porta. No Java a classe InetAddress (java.net.InetAddress) 
abstrai endereços de rede [13]. Os principais objetivos dessa classe são:
A Encapsular um nome ou endereço.
Questão
Em sistemas distribuídos construídos no modelo cliente/servidor o acoplamento pode se tornar um 
problema para o sistema em produção. Quando existe uma alteração no sistema acoplado, essa 
frequentemente afeta todos os outros sistemas. Analise as afirmativas a seguir classificando-as 
como (F) Falsas ou (V) Verdadeiras:
( ) Geralmente o desenvolvedor deve modificar o servidor para adequá-lo à uma mudança nos 
negócios, e o cliente também deve ser modificado para adequar-se a essa mudança.
( ) O alto acoplamento dos sistemas e a falta de interoperabilidade são motivos para um dos 
maiores problemas da TI: a falta de alinhamento dos negócios com a TI.
( ) A falta de alinhamento pode ocorrer por que as mudanças nos processos de negócios são mais 
velozes que as mudanças de TI.
( ) A Arquitetura Orientada a Serviços visa dar maior agilidade às mudanças, reduzindo o 
acoplamento e a interoperabilidade.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
A V – V – V – F.
Questão
Em Sistemas Distribuídos apresentados na Aula 2, um ou mais processos se comunicam entre si 
para atingir um determinado objetivo.
Em relação à comunicação entre processos é correto afirmar:
I. A comunicação entre processos normalmente é feita por um par de processos, um remetente e um 
destinatário
II. A comunicação entre processos pode ser tanto síncrona quanto assíncrona.
III. Na comunicação assíncrona o remetente fica bloqueado até que o destinatário responda a 
mensagem
IV. Praticamente todas as comunicações são baseadas em sockets
Analise as alternativas e assinale a alternativa CORRETA
B As sentenças I, II e IV estão CORRETAS
Questão
A Thread é unidade principal utilizada pelos gerenciadores de tarefas modernos. 
Assim, é fundamental que o desenvolvedor conheça o fluxo de vida de uma thread, para que possa 
manipulá-las com maior acurácia. 
Sobre este fluxo é correto afirmar que:
Analise as alternativas e assinale a alternativa CORRETA
C Uma Thread em estado EXECUTANDO pode passar para PRONTA, 
SUSPENSA ou TERMINADA.
Questão
Os cinco estados possíveis de uma Thread são Nova, Pronta, Executando, Pronta e Terminada. 
A transição entre estes estados pode ser realizada por métodos, cuja funcionalidade é descrita a 
seguir:
Analise as alternativas e assinale a alternativa CORRETA
B sleep(t): Faz com que a thread fique suspensa por t
Questão
Uma forma de implementar uma thread é utilizar o conceito de herança para criar uma nova classe 
que herde os comportamentos definidos na classe Thread. 
Com base nessa afirmação, avalie as sentenças a seguir:
I. A classe Thread equivale a uma extensão da interface da classe Runnable.
II. Para inicializar o processamento paralelo na thread, o método run deve ser invocado.
III. A criação de uma thread com a classe Thread requer a sobrecarga do método run
IV. O método run é invocado automaticamente quando a thread é inicializada.
Analise as alternativas e assinale a alternativa CORRETA
E Apenas as sentenças III e IV estão CORRETAS
Questão
Quando desenvolvemos um programa em Java estamos utilizando threads, mesmo que não seja de 
forma explicita. Absolutamente todas as aplicações em Java utilizam thread.
Considerando o texto do enunciado, analise as afirmativas a seguir:
I. O método main é um tipo de thread implícita – quando definimos o método main, estamos 
indicando ao compilador onde a main thread deve iniciar a execução.
II. A Java Virtual Machine (JVM) é um exemplo de thread, e é responsável pelo ambiente de 
execução das aplicações Java.
III. A classe Timer, que define uma espécie de cronômetro, também é exemplo de thread implícita.
IV. O gerenciamento dessas threads implícitas é de responsabilidade do programador.
Analise as alternativas e assinale a alternativa CORRETA
A Apenas as Alternativas I e III são CORRETAS
Questão
Em sistemas distribuídos, cada nó é responsável por executar um ou mais processos que se 
comunicam para atingir um determinado objetivo. Assim, a comunicação entre processos 
(Interprocess Comunication – IPC) normalmente é composta entre um par de processos – remetente 
e destinatário. Para estabelecer essa comunicação, o processo remetente envia uma mensagem 
(sequência de bytes) para um processo destino – o processo destino recebe essa mensagem. Analise 
as afirmativas a seguir classificando-as como (F) Falsas ou (V) Verdadeiras:
( ) Geralmente é preciso que exista sincronização entre os processos para execução da atividade de
envio/recebimento.
( ) A comunicação entre os processos por mensagem pode ser síncrona ou assíncrona.
( ) Em uma comunicação síncrona o envio de mensagem não é bloqueante. Ou seja, o processo 
remetente pode continuar sua execução.
( ) Em uma comunicação assíncrona o remetente fica bloqueado após o envio de uma mensagem, 
sendo desbloqueado quando o destinatário responder a respectiva mensagem.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
B V – V – F - F.
QuestãoA comunicação entre os nós de um SD é realizada através de mensagens. Para enviar uma 
mensagem utilizando os protocolos padrões de internet, precisamos basicamente de duas 
informações: endereço da máquina e a porta. No Java a classe InetAddress (java.net.InetAddress) 
abstrai endereços de rede [13]. Os principais objetivos dessa classe são:
A Encapsular um nome ou endereço.
Questão
A Arquitetura Orientada a Serviços ou SOA (Service Oriented Architecture) é uma arquitetura de 
sistemas cujo princípio fundamental prega que as funcionalidades dos sistemas devem ser 
disponibilizadas na forma de serviços. Sobre o SOA é correto afirmar que:
B Na arquitetura SOA um serviço é um componente de um sistema que representa
uma funcionalidade de um negócio.
Questão
Em sistemas distribuídos construídos no modelo cliente/servidor o acoplamento pode se tornar um 
problema para o sistema em produção. Quando existe uma alteração no sistema acoplado, essa 
frequentemente afeta todos os outros sistemas. Analise as afirmativas a seguir classificando-as 
como (F) Falsas ou (V) Verdadeiras:
( ) Geralmente o desenvolvedor deve modificar o servidor para adequá-lo à uma mudança nos 
negócios, e o cliente também deve ser modificado para adequar-se a essa mudança.
( ) O alto acoplamento dos sistemas e a falta de interoperabilidade são motivos para um dos 
maiores problemas da TI: a falta de alinhamento dos negócios com a TI.
( ) A falta de alinhamento pode ocorrer por que as mudanças nos processos de negócios são mais 
velozes que as mudanças de TI.
( ) A Arquitetura Orientada a Serviços visa dar maior agilidade às mudanças, reduzindo o 
acoplamento e a interoperabilidade.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
A V – V – V – F.
Questão
Para estabelecer o fluxo de comunicação entre os processos é utilizado um Socket de rede, sendo 
que atualmente praticamente todas as comunicações são baseadas em Sockets. Avalie as afirmações 
sobre Sockets apresentadas a seguir:
 I. Socket é um ponto de comunicação (endpoint) entre dois processos, sendo composto de um 
endereço e uma porta.
 II. A comunicação entre processos consiste na transmissão de mensagens entre sockets alocados 
por estes processos.
III. No modelo cliente-servidor tradicional, o servidor fica aguardando a conexão de um cliente em 
uma porta específica.
 IV. No modelo cliente-servidor tradicional, o servidor fica aguardando a conexão de um cliente 
somente pela porta 80.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
C I, II e III.
Questão
A Arquitetura Orientada a Serviços ou SOA (Service Oriented Architecture) é uma arquitetura de 
sistemas cujo princípio fundamental prega que as funcionalidades dos sistemas devem ser 
disponibilizadas na forma de serviços. Sobre o SOA é correto afirmar que:
B Na arquitetura SOA um serviço é um componente de um sistema que representa
uma funcionalidade de um negócio.
Questão
A implementação do algoritmo de Lamport é amplamente utilizada para sincronização de relógios 
lógicos em sistemas distribuídos. Sobre essa implementação, avalie as afirmativas a seguir como (F)
Falsas ou (V) Verdadeiras:
( ) Frequentemente não é necessário que os sistemas tenham conhecimento da hora exata, apenas a 
relativa.
( ) A sincronização baseada em relógio lógico não considera o horário do relógio, e sim a ordem 
dos eventos.
( ) Esse algoritmo é utilizado quando a ordem é importante, mas o horário oficial não é requerido.
( ) O algoritmo baseia-se no princípio de identificar a precedência dos eventos, isto é, o que 
acontece antes.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
A V – V – V – V.
Questão
A implementação do Algoritmo de Christian requer, além da compreensão do algoritmo e da 
aplicação das técnicas de comunicação entre processos, o entendimento dos processos cliente e 
servidor que utilizam essa estratégia. Sobre essa implementação, avalie as afirmativas a seguir 
como (F) Falsas ou (V) Verdadeiras:
( ) Para implementar esse algoritmo é possível utilizar sockets baseados em UDP ou TCP.
( ) Como o propósito desse algoritmo é que o servidor atenda diversos clientes em paralelo, a 
abordagem baseada em TCP é mais interessante por simplificar a troca de mensagens entre os pares.
( ) Um aspecto positivo desse algoritmo é considerar que o tempo de envio e de recebimento de 
mensagens são iguais.
( ) Como não há a necessidade de uma autoridade que possui o horário oficial, mesmo que essa 
autoridade não exista ou fique indisponível, o algoritmo pode ser executado.
Assinale a alternativa que apresenta a sequência correta da classificação das afirmativas 
apresentadas:
C V – V – F - F.
Questão
Todos os serviços possuem um provedor e um consumidor, e três características básicas, o Contrato,
a Interface e a Implementação, sobre as quais podemos afirmar que:
 I. O contrato e a interface são visíveis para o mundo, enquanto a implementação é um recurso 
escondido, como uma caixa preta.
 II. O contrato e a interface são orientados para o provedor, enquanto a implementação é orientada 
para o consumidor.
III. Os detalhes do contrato e da interface são importantes para o consumidor, enquanto que os 
detalhes da implementação não são.
 IV. Os detalhes do contrato e da interface são importantes para o provedor, enquanto que os 
detalhes da implementação não são.
Assinale a única alternativa que apresenta apenas as afirmativas corretas:
B I e III.
Questão 
A sincronização de relógios é um desafio interessante em sistemas distribuídos. Em inúmeras 
aplicações é preciso saber em que determinado horário um evento ocorreu. Em um sistema 
distribuído não é possível simplesmente considerar o horário da máquina em que o sistema está 
hospedado como verdade absoluta, pois:
E Cada máquina possui um relógio próprio baseado em um circuito (cristal) 
responsável por determinar o horário através de tickets (oscilações), que podem sofrer 
variações de frequência.

Outros materiais