Baixe o app para aproveitar ainda mais
Prévia do material em texto
1ª AVALIAÇÃO INSTRUÇÕES • A prova é individual ( ) Com consulta (X) Sem consulta • A interpretação dos enunciados das questões faz parte da avaliação, portanto não cabe explicação dos mesmos. Cada questão corresponde ao valor entre parênteses; • Só serão válidas as questões transcritas de caneta azul ou preta para folha de resposta, inclusive as questões objetivas. Nestas, a letra correspondente à sua opção de resposta deverá vir com uma palavra que inicie com a mesma letra. (A/aluno; B/busca, C/classe, D/docente, E/educação); • Serão desconsideradas as questões rasuradas ou com uso de corretivo, respondidas de lápis ou de caneta de cores diferentes das descritas acima; • Não será permitido o uso de quaisquer materiais eletrônicos e materiais de apoio (caderno, apostila, lei seca etc.), tampouco o empréstimo de materiais entre os alunos durante a prova. • A prova terá duração de 1 hora e 40 minutos; Só será permitida a entrada de alunos com atraso de até 15 minutos, não acarretando com isso o aumento na duração do horário da prova. Durante a realização da prova é proibida a saída da sala de aula. • Lembre-se que é obrigatória a assinatura da ata de frequência da prova. • O não cumprimento das normas acima acarretará em sanção ao aluno. A prova terá porcentagem de 100%. QUESTÕES 1 – (0,5 ponto) Sobre sistemas distribuídos analise as seguintes afirmativas. I - Um sistema distribuído como aquele no qual os componentes de hardware ou software, localizados emcomputadores interligados em rede, comunicam-se e coordenam suas ações apenas enviando mensagens entre si. II – Devido a existência de relógio global, a coordenação para troca de mensagens frequentementedepende de uma noção compartilhada do tempo em que as ações dos programas ocorrem. III – A concorrência existente em arquitetura distribuídas é uma característica importante devidocapacidade do sistema de manipular recursos compartilhados onde pode ser necessário a adição de mais recursos (por exemplo,computadores) na rede. Com base nas afirmativas pode-se conclui que : a) somente a afirmativa II está correta. b) somente as afirmativas I e II estão corretas. c) somente a afirmativa III está correta. d) somente as afirmativas I e III estão corretas. e) todas as afirmativas estão corretas. 2 – (0,5 ponto) Uma camada de software posicionada no topo do sistema operacional que permite ao sistema distribuído conseguir uniformidade na presença de diferentes hardwares e sistemas operacionais é denominada de a)interface operacional. b)middleware. c)metacamada de software. d)framework. e)componente de software. 3 – (0,5 ponto) Sobre Soquetes analise as afirmativas abaixo e escolha a alterativa ERRADA. a) As duas formas de comunicação (UDP e TCP) usam a abstração de soquete, um ponto de destino para a comunicação entre processos. b) A comunicação entre processos consiste em transmitir uma mensagem entre um soquete de um processo e um soquete de outro processo. c) Um processo pode usar de forma alguma o mesmo soquete para enviar e receber mensagens. d) Qualquer processo pode fazer uso de várias portas para receber mensagens, no entanto, um processopode compartilhar portas com outros processos no mesmo computador. e) As mensagens enviadas para um endereço IP e um número de porta em particular só podem serrecebidas por um processo cujo soquete esteja associado a esse endereço IP e a esse número de porta. 4 – (0,5 ponto) Um sistema distribuído é um conjunto de nós fracamente acoplados interconectados por uma rede de comunicação. Em relação ao tema do texto, assinale a alternativa correta. a) Os nós de um sistema distribuído são iguais. b) O conceito de compartilhamento de recursos é aplicável nesse contexto, sendo que a seguintedesvantagem surge: se vários nós estão interconectados, é altamente provável que um nó fique sem recursos para ser executado. c) Um sistema distribuído pode realizar o processamento de um único processo de forma paralela, poréma perda de desempenho para realizar a distribuição do código via rede entre os processadores é tão alta que essa abordagem é pouco utilizada. d) Quando um nó do sistema falha, outros nós podem assumir a tarefa dele, garantindo que o processo emexecução não seja abortado. Uma desvantagem dessa abordagem é que, com a queda de um nó, aumentase a carga sobre o resto do sistema. e) Um fenômeno comum em sistemas distribuídos consiste na garante-se de que nenhum processo ficarásem recursos eternamente, garantindo distribuição justa de recursos. 5 - (2 pontos) O compartilhamento de recursos é o principal fator de motivação para a construção de sistemas distribuídos. Recursos como impressoras, arquivos, páginas Web ou registros de banco de dados são gerenciados por servidores de tipo apropriado; por exemplo, servidores Web gerenciam páginas Web. A construção de sistemas distribuídos gera muitos desafios entre os quais ressaltam-se: heterogeneidade, escalabilidade, tratamento de falhas, transparência. Explique sobre estes desafios das arquiteturas distribuídas. R= Heterogeneidade - Ou seja, os sistemas devem ser construídos a partir de uma variedade de redes, sistemas operacionais, hardware e linguagens de programação diferentes. Os protocolos de comunicação da Internet mascaram a diferença existente nas redes e o middleware pode cuidar das outras diferenças Escalabilidade - um sistema distribuído é considerado escalável se o custo da adição de um usuário for um valor constante, em termos dos recursos que devem ser adicionados. Os algoritmos usados para acessar dados compartilhados devem evitar gargalos, e os dados devem ser estruturados hierarquicamente para se obter os melhores tempos de acesso. Os dados acessados frequentemente podem ser replicados. Tratamento de falhas – Explana que qualquer processo, computador ou rede pode falhar, independentemente dos outros. Portanto, cada componente precisa conhecer as maneiras possíveis pelas quais os componentes de que depende podem falhar e ser projetado de forma a tratar de cada uma dessas falhas apropriadamente. Transparência – O objetivo é tornar certos aspectos da distribuição invisíveis para o programador de aplicativos, para que este se preocupe apenas com o projeto de seu aplicativo em particular. Por exemplo, ele não precisa estar preocupado com sua localização ou com os detalhes sobre como suas operações serão acessadas por outros componentes, nem se será replicado ou migrado. As falhas de rede e de processos podem ser apresentadas aos programadores de aplicativos na forma de exceções – mas elas devem ser tratadas 6 - (2 pontos) Em um sistema distribuído, os processos componentes ou serviços, incluindo serviços Web , interagem uns com os outros para realizar uma atividade útil. Ao fazer isso, os processos assumem determinadas funções através de estilos de arquitetura básicos resultantes da função dos processos individuais: cliente-servidor e peer-to-peer. Explique sobre cada um deles. R= Cliente-servidor: essa é a arquitetura mais citada quando se discute os sistemas distribuídos. Historicamente, ela é a mais importante e continua sendo amplamente empregada. Em particular, os processos clientes interagem com processos servidores, localizados possivelmente em distintos computadores hospedeiros, para acessar os recursos compartilhados que estes gerenciam. Os servidores podem, por sua vez, ser clientes de outros servidores, conforme a figura indica. Por exemplo, um servidor Web é frequentemente um cliente de um servidor de arquivos local que gerencia os arquivos nos quais as páginas Web estão armazenadas. Os servidores Web, e a maioria dos outros serviços Internet, são clientes do serviço DNS, que mapeia nomes de domínio Internet a endereços de rede (IP). Outro exemplo relacionado à Web diz respeito aos mecanismos de busca, os quais permitem aos usuários pesquisar resumos de informaçõesdisponíveis em páginas Web em sites de toda a Internet. Peer-to-peer: nessa arquitetura, todos os processos envolvidos em uma tarefa ou atividade desempenham funções semelhantes, interagindo cooperativamente como pares(peers), sem distinção entre processos clientes e servidores, nem entre os computadores em que são executados. Em termos práticos, todos os processos participantes executam o mesmo programa e oferecem o mesmo conjunto de interfaces uns para os outros. Embora o modelo cliente-servidor ofereça uma estratégia direta e relativamente simples para o compartilhamento de dados e de outros recursos, ele não é flexível em termos de escalabilidade. 7 - (2 pontos) As entidades se comunicam em um sistema distribuído e consideremos três tipos de paradigma de comunicação: comunicação entre processos, invocação remota, comunicação indireta. Explique sobre os paradigmas de comunicação. R= comunicação entre processos – Refere-se ao suporte de nível relativamente baixo para comunicação entre processos nos sistemas distribuídos, incluindo primitivas de passagem de mensagens, acesso direto à API oferecida pelos protocolos Internet (programação de soquetes) e também o suporte para comunicação em grupo* (multicast). invocação remota - Representa o paradigma de comunicação mais comum nos sistemas distribuídos, cobrindo uma variedade de técnicas baseadas na troca bilateral entre as entidades que se comunicam em um sistema distribuído e resultando na chamada de uma operação, um procedimento ou método remoto comunicação indireta - é definida como a comunicação entre entidades de um sistema distribuído por meio de um intermediário, sem nenhum acoplamento direto entre o remetente e o destinatário (ou destinatários). A natureza precisa do intermediário varia de uma estratégia para outra. 8 - (2 pontos) A comunicação entre os processos origem e destino pode ser síncrona ou assíncrona. Explique como estes modelos de comunicação podem ser aplicadas em arquiteturas distribuídas através dos protocolos TCP e UDP. R= Esses dois modelos de comunicação podem ser aplicados em arquiteturas distribuídas pois utilizam da abstração de “soquetes”-- um ponto de destino para a comunicação entre processos – onde a comunicação entre processos consiste em transmitir uma mensagem entre um soquete de um processo e um soquete de outro processo. Para que um processo receba mensagens, seu soquete deve estar vinculado a uma porta local e a um dos endereços IP do computador em que é executado. As mensagens enviadas para um endereço IP e um número de porta em particular só podem ser recebidas por um processo cujo soquete esteja associado a esse endereço IP e a esse número de porta. Um processo pode usar o mesmo soquete para enviar e receber mensagens. Cada computador tem 2¹⁶ números de portas disponíveis para serem usados pelos processos para envio e recepção de mensagens. Qualquer processo pode fazer uso de várias portas para receber mensagens, mas um processo não pode compartilhar portas com outros processos no mesmo computador. Entretanto, qualquer número de processos pode enviar mensagens para a mesma porta. Cada soquete é associado a um protocolo em particular – UDP ou TCP.
Compartilhar