Buscar

Revisar envio do teste_ A3 Sistemas Distribuídos - _ (1)

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 7 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 7 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

05/06/2020 Revisar envio do teste: A3 – Sistemas Distribuídos - ...
https://unifacs.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_33777556_1&course_id=_570114_1&content_id=_1352358… 1/7
 Revisar envio do teste: A3Sistemas Distribuídos - SI019 - CC-NR01 - 20201 - APOIO Atividades
Revisar envio do teste: A3 
Usuário IZADORA DE OLIVEIRA MACHADO PAIM
Curso Sistemas Distribuídos - SI019 - CC-NR01 - 20201 - APOIO
Teste A3
Iniciado 22/05/20 19:08
Enviado 22/05/20 19:08
Status Completada
Resultado
da tentativa
8,6 em 10 pontos 
Tempo
decorrido
1 hora, 32 minutos de 1 hora e 30 minutos TEMPO EXTRA
Instruções
Resultados
exibidos
Todas as respostas, Respostas enviadas, Respostas corretas, Comentários
Esta é a atividade avaliativa A3, durante a prova estarei na sala de webconferência
para esclarecimentos de dúvidas sobre a prova.
Seguem as instruções da avaliação:
No blackboard - Atividades - A3 - às 19hs apenas.
ATENÇÃO: Não feche o navegador depois de ter iniciado a avaliação, mesmo em
caso de perda de conexão, pois irá encerrar a prova.
O tempo de duração será de 90 minutos. 
Esta avaliação é individual e sem consulta.
Durante a avaliação não é permitido uso de qualquer objeto tipo: Celular,
Smartphone, Calculadoras, ...
Observe a organização lógica do pensamento e preocupe-se com as categorias
discutidas e demonstre apreensão delas em suas respostas.
A avaliação vale 10(dez) pontos distribuídos em tem 10(dez) questões objetivas com
valor 0,7 pontos e 2(duas) discursivas com valor 1,5 ponto cada.
Boa sorte,
Pergunta 1
Resposta Selecionada: A. 
Respostas: A. 
B. 
Na API Java fornece comunicação por datagrama UDP por meio de duas classes,
DatagramSocket e DatagramPacket, sobre estas classes podemos afirmar que:
 i. Na classe “DatagramSocket” o argumento do método “send” é uma instância
de DatagramPacket vazio.
 ii. Na classe “DatagramSocket” o método “setSoTimeout” permite o
estabelecimento de um timeout para o método “receive”.
São verdadeiras, apenas, as proposições
Apenas II.
Apenas II.
Apenas I.
Minha Área
0,7 em 0,7 pontos
IZADORA DE OLIVEIRA MACHADO PAIM
http://unifacs.blackboard.com/
https://unifacs.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_570114_1
https://unifacs.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_570114_1&content_id=_12093906_1&mode=reset
https://unifacs.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_373_1
https://unifacs.blackboard.com/webapps/login/?action=logout
05/06/2020 Revisar envio do teste: A3 – Sistemas Distribuídos - ...
https://unifacs.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_33777556_1&course_id=_570114_1&content_id=_1352358… 2/7
C. 
D. 
Nenhuma.
Ambas I e II.
Pergunta 2
Resposta
Selecionada:
C.
Respostas: A. 
B. 
C.
D. 
E.
A sincronização é um problema recorrente aos sistemas distribuídos, alvo de diversas
pesquisas em todo o mundo. Dado esse problema da não sincronização nos sistemas
distribuídos, é necessário que haja ações para que se garanta a possibilidade de
comunicação entre os computadores da rede mesmo em situações adversas. Para
que o servidor possa receber uma requisição de um cliente, é necessário que:
 Implemente um loop infinito para poder receber cada requisição
que vai chegar do cliente.
 Use a API sockets para Windows.
 Use threads masters em cada requisição.
 Implemente um loop infinito para poder receber cada requisição
que vai chegar do cliente.
 Utilize o modelo cliente-servidor.
 Use a arquitetura peer-to-peer para possibilitar o uso da API
sockets.
Pergunta 3
Resposta
Selecionada:
E. 
Respostas: A. 
B.
C. 
D.
E. 
Os sockets possibilitam um canal de comunicação entre computadores, permitindo
que um processo associado a uma máquina localizada em uma rede possa se
comunicar com outro processo localizado em outra máquina em uma rede diferente.
De acordo com os conceitos sobre a classe Socket da API Java, qual a principal
responsabilidade da exceção IOException?
 Indica que outro processo está usando a porta local.
 Escreve dados em um buffer associado ao socket.
 Indica ao sistema operacional para colocar o socket em modo de
espera (passivo) para aguardar conexões de clientes.
 Associa o número da porta a um socket.
 Cria um novo socket a partir do estabelecimento de uma conexão
para iniciar a comunicação (leitura e escrita).
 Indica que outro processo está usando a porta local.
Pergunta 4
Suponha um cenário de um sistema distribuído onde um programa servidor escrito
em uma linguagem (por exemplo, C++) fornece implementação de um objeto BLOB
destinado a ser acessado por clientes que podem estar escritos em outra linguagem
(por exemplo, Java), considere os aspectos de heterogeneidade do cenário e analise
as asserções abaixo:
 i. Os computadores cliente e servidor podem ter hardware diferentes, desde que
0,7 em 0,7 pontos
0,7 em 0,7 pontos
0,7 em 0,7 pontos
05/06/2020 Revisar envio do teste: A3 – Sistemas Distribuídos - ...
https://unifacs.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_33777556_1&course_id=_570114_1&content_id=_1352358… 3/7
Resposta Selecionada: B. 
Respostas: A. 
B. 
C. 
D. 
eles estejam ligados em rede.
 ii. Embora os sistemas operacionais de todos os computadores na Internet
precisem incluir uma implementação dos protocolos Internet, nem todos fornecem,
necessariamente, a mesma interface de programação de aplicativos para esses
protocolos. Desta forma o cliente e o servidor deste cenário precisam ser do mesmo
sistema operacional.
 iii. Diferentes linguagens de programação usam diferentes representações para
caracteres e estruturas de dados, como vetores e registros. Essas diferenças
impedem os programas deste cenário de se comunicar.
São verdadeiras, apenas, as proposições
Apenas I.
Apenas I e II.
Apenas I.
Apenas I e III.
Apenas II.
Pergunta 5
Resposta Selecionada: B. 
Respostas: A. 
B. 
C. 
D. 
As informações armazenadas nos programas em execução são representadas como
estruturas de dados, enquanto que as informações presentes nas mensagens são
sequências puras de bytes. Independente da forma de comunicação usada, as
estruturas de dados devem ser simplificadas (convertidas em uma sequência de
bytes) antes da transmissão e reconstruídas na sua chegada. A cerca de
representação externa de dados e empacotamento, analise as asserções a seguir:
 i. A XML ou Extensible Markup Language, que define que os tipos de dados
primitivos são empacotados em uma forma binária.
 ii. Na serialização de objetos da linguagem Java assim como na representação
comum de dados do CORBA as atividades de empacotamento e desempacotamento
se destinam a serem executadas por uma camada de middleware, sem nenhum
envolvimento por parte do programador de aplicativo
 iii. JSON (JavaScript Object Notation) já é adotado como uma estratégia de
representação de dados externos.
São verdadeiras, apenas, as proposições
Apenas a II e III são verdadeiras.
 Apenas a I e II são verdadeiras.
Apenas a II e III são verdadeiras.
 Apenas a II é verdadeira.
Apenas a I é verdadeira.
Pergunta 6
 Numa implementação usando Sockets, com as classes Java corretas importadas,
considere a classe do lado do servidor definida como o exemplo a seguir. Analise as
asserções sobre o código e responda a alternativa correta:
public class Servidor {
 public static void main(String[] args) throws IOException {
 try (ServerSocket ouvinte = new ServerSocket(60000)) {
 System.out.println("O servidor Java está em execução.");
 while (true) {
 try (var socket = ouvinte.accept()) {
 var saida = new PrintWriter(socket.getOutputStream(), true);
 saida.println(“Mensagem a ser transmitida.”);
 }
 } } }
0,7 em 0,7 pontos
0 em 0,7 pontos
05/06/2020 Revisar envio do teste: A3 – Sistemas Distribuídos - ...
https://unifacs.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_33777556_1&course_id=_570114_1&content_id=_1352358…4/7
Resposta Selecionada: D. 
Respostas: A. 
B. 
C. 
D. 
E. 
}
 i. “throws IOException” pode gerar uma exceção no caso de a porta informada
para o socket estiver sendo usada por outro processo.
 ii. O método getOutputStream() tem a função de gravar o fluxo que será
enviado ao socket criado.
 iii. O método accept() irá gerar uma exceção no caso de não encontrar
nenhum pedido de connect no socket.
São verdadeiras, apenas, as proposições
I.
II e III.
I e III.
I e II.
I.
II.
Pergunta 7
Resposta Selecionada: B. 
Respostas: A. 
B. 
C. 
D. 
E. 
Numa implementação usando Sockets, com as classes Java corretas importadas,
considere a classe do lado do servidor definida como o exemplo a seguir. Analise as
asserções sobre o código e responda a alternativa correta:
public class Servidor {
 public static void main(String[] args) throws IOException {
 try (ServerSocket ouvinte = new ServerSocket(60000)) {
 System.out.println("O servidor Java está em execução.");
 while (true) {
 try (var socket = ouvinte.accept()) {
 var saida = new PrintWriter(socket.getOutputStream(), true);
 saida.println(“Mensagem a ser transmitida.”);
 }
 } } }
}
 i. O método getOutputStream() tem função de ler o fluxo associado ao socket
criado.
 ii. O método accept() é o responsável por colocar a instância do socket criado
em escuta (listen) na porta 60000.
 iii. “ouvinte” é um objeto do tipo Socket instanciado com a porta de
comunicação que será usada pelo sistema operacional.
São verdadeiras, apenas, as proposições
II e III.
I e III.
II e III.
I.
I e II.
II.
Pergunta 8
A escolha da arquitetura que será utilizada para projetar um sistema distribuído é
essencial para o seu funcionamento e, dentre tantas opções, deve-se escolher a mais
adequada para cada tipo de problema a ser resolvido. Dito isso, assinale a alternativa
que apresenta qual estilo arquitetural possui uma arquitetura distribuída e não
0,7 em 0,7 pontos
0,7 em 0,7 pontos
05/06/2020 Revisar envio do teste: A3 – Sistemas Distribuídos - ...
https://unifacs.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_33777556_1&course_id=_570114_1&content_id=_1352358… 5/7
Resposta Selecionada: B. 
Respostas: A. 
B. 
C. 
D. 
apresenta ponto único de falha, além disso, permite que os nós da rede se
comportem como emissor e receptor de dados
 Peer-to-peer.
SOAP
 Peer-to-peer.
 Cliente-servidor.
 Orientada a serviços.
Pergunta 9
Resposta
Selecionada:
E. 
Respostas: A.
B.
C. 
D. 
E. 
Os sockets possibilitam um canal de comunicação entre computadores, permitindo
que um processo associado a uma máquina localizada em uma rede possa se
comunicar com outro processo localizado em outra máquina em uma rede diferente.
De acordo com os conceitos sobre a classe Socket da API Java, qual a principal
responsabilidade do método getInputStream()?
 Associa o número da porta a um socket.
 Cria um novo socket a partir do estabelecimento de uma conexão
para iniciar a comunicação (leitura e escrita).
 Indica ao sistema operacional para colocar o socket em modo de
espera (passivo) para aguardar conexões de clientes.
 Escreve dados em um buffer associado ao socket.
Lê o conteúdo do buffer associado ao socket.
 Associa o número da porta a um socket.
Pergunta 10
Resposta Selecionada: B. 
Numa implementação usando Sockets, com as classes Java corretas importadas,
considere a classe do lado do servidor definida como o exemplo a seguir. Analise as
asserções sobre o código e responda a alternativa correta:
public class Servidor {
 public static void main(String[] args) throws IOException {
 try (ServerSocket ouvinte = new ServerSocket(60000)) {
 System.out.println("O servidor Java está em execução.");
 while (true) {
 try (var socket = ouvinte.accept()) {
 var saida = new PrintWriter(socket.getOutputStream(), true);
 saida.println(“Mensagem a ser transmitida.”);
 }
 } } }
}
 i. Será criado um objeto do tipo ServerSocket especificando a porta de
comunicação que será usada pelo sistema operacional.
 ii. Será exibido uma mensagem no console da IDE de programação para avisar
que o servidor está em execução.
 iii. Utiliza um laço para possibilitar o servidor estar disponível para o recebimento
de até 60000 novas requisições dos clientes.
São verdadeiras, apenas, as proposições
 Apenas a I e II são verdadeiras
0 em 0,7 pontos
0,7 em 0,7 pontos
05/06/2020 Revisar envio do teste: A3 – Sistemas Distribuídos - ...
https://unifacs.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_33777556_1&course_id=_570114_1&content_id=_1352358… 6/7
Respostas: A. 
B. 
C. 
D. 
E. 
 Apenas a I é verdadeira
 Apenas a I e II são verdadeiras
 Apenas a II e III são verdadeiras
 Apenas a I e III são verdadeiras
 Apenas a II é verdadeira
Pergunta 11
Resposta
Selecionada:
Resposta
Correta:
Feedback da
resposta:
[Sem Resposta]
Na chamada de procedimento remoto (RPC), os procedimentos em máquinas
remotas podem ser chamados como se fossem procedimentos no espaço de
endereçamento local. Então, o sistema RPC oculta os aspectos importantes da
distribuição, incluindo a codificação e a decodificação de parâmetros e resultados, a
passagem de mensagens e a preservação da semântica exigida para a chamada de
procedimento. Neste contexto uma interface Election fornece dois métodos remotos:
 i. vote: este método possui dois parâmetros por meio dos quais o cliente
fornece o nome de um candidato (uma string) e o “número do votante” (um valor
inteiro usado para garantir que cada usuário vote apenas uma vez). 
 ii. result: este método possui dois parâmetros com os quais o servidor
fornece para o cliente o nome de um candidato e o número de votos desse candidato.
O serviço Election deve garantir que um voto seja registrado quando o usuário
depositar o seu voto. Então responda: 
 a. Explique o efeito do uso da semântica talvez no serviço Election.
 b. Explique se a semântica pelo menos uma vez seria aceitável para o serviço
Election ou você usaria a semântica no máximo uma vez?
a semântica talvez não garante que o método foi executado
a semântica pelo menos uma vez gararante a execução do método,
pois há retransmissão da mensagem 
a) Provavelmente a semântica talvez seja obviamente a mais
inadequada para votação, pois o efeito que não garante que o voto foi
registrado ou se foi registrado mais de uma vez.
b) Sim seria aceitável, pois o texto especifica que o número do eleitor é
usado para garantir que o usuário vote apenas uma vez. Isso significa
que o servidor mantém um registro de quem votou. Portanto, a
semântica pelo menos uma vez é a mais indicada, porque qualquer
tentativa repetida de voto é frustrada pelo servidor.
Pergunta 12
Segundo Coulouris, 2013, o sistema RPC oculta os
aspectos importantes da distribuição, incluindo a
codificação e a decodificação de parâmetros e
resultados, a passagem de mensagens e a
preservação da semântica exigida para a chamada de
procedimento. Esse conceito foi apresentado pela
primeira vez por Birrell e Nelson [1984]. Neste conceito
onde é necessário preservar a semântica, explique se
e o porquê as seguintes operações são idempotentes: 
i) pressionar o botão “subir” (elevador); 
ii) salvar um arquivo; 
1,5 em 1,5 pontos Exibir rubrica
1,5 em 1,5 pontos
05/06/2020 Revisar envio do teste: A3 – Sistemas Distribuídos - ...
https://unifacs.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_33777556_1&course_id=_570114_1&content_id=_1352358… 7/7
Sexta-feira, 5 de Junho de 2020 15h15min30s BRT
Resposta
Selecionada:
Resposta
Correta:
Feedback da
resposta:
[Sem Resposta]
iii) anexar dados em um arquivo. 
i) indempotente, para garatinr que o elevador irá continuar subindo até
o últimoandar solicitado, sem que haja uma mudança de sentido caso
o botão do elevador seja apertao em algum andar abaixo do que ele
está no momento.
ii) indempotente, para garantir que o arquivo seja gravado e não corra
o risco de uma nova ação subscrever a ação de gravar, ocasioando a
perda do arquivo.
ii) não é indempotente, pois precisa permitir que o anexo seja
removido . Caso fosse indempotente , isso não aconteceria. 
A operação para pressionar o botão subir definida
em (i), é um caso em que a operação é idempotente
porque pode ser repetida várias vezes com o
mesmo efeito. (ii) a operação de gravação é
aplicada a uma sequência especificada de dados e
local; nesse caso, a operação é idempotente porque
pode ser repetida várias vezes com o mesmo efeito.
(iii) A operação para anexar dados a um arquivo
não é idempotente, porque o arquivo é estendido
toda vez que essa operação é executada.
← OK
javascript:launch('/webapps/gradebook/do/student/viewAttempts?course_id=_570114_1&method=list&nolaunch_after_review=true');

Continue navegando