Baixe o app para aproveitar ainda mais
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.
Compartilhar