Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Sistemas Distribuídos Disciplina do 5º período do curso superior de Tecnologia em Redes de Computadores da Faculdade Estácio de Sá de Juiz de Fora. Prof. Douglas Machado www.douglasmachado.com – 2012.1 Service Oriented Architecture (SOA) Arquitetura orientada a serviços Contextualização • Empresas modernas precisam responder de forma efetiva e rápida às oportunidades do mercado • Mercado competitivo e globalizado • Processos e sistemas estão cada vez mais •complexos Desafios Principais desafios enfrentados pelas empresas hoje • Flexibilidade • Agilidade • Manutenção • Escalabilidade • Descentralização • Heterogeneidade • Distância entre o negócio e a TI Como adaptar-se a este cenário? SOA apresenta-se como uma solução para esses desafios Abordagem que ajuda sistemas a continuarem escaláveis e flexíveis enquanto evoluem (crescem) e ajuda a alinhar negócio e TI. SOA Definição É um paradigma para realização e manutenção de processos de negócio em um grande ambiente de sistemas distribuídos que são controlados por diferentes proprietários. SOA Serviços “Serviços” são pedaços de funcionalidades autocontidas que possuem interfaces expostas, e que são invocados via mensagens. Funcionalidades podem fazer parte de um ou mais processos Serviços podem ser implementados em qualquer tecnologia em qualquer plataforma. Exemplos de funcionalidades: •Simples: por exemplo, armazenar ou recuperar dados dos •funcionários •Complexa: por exemplo, um processo de negócio para •tratar o pedido do cliente. SOA O propósito de SOA é tratar os seguintes requisitos •Baixo acoplamento •Desenvolvimento baseado em padrões •Computação distribuída independente de protocolo •Mapear os sistemas de informação da organização em relação aos processos de negócios •Integração de aplicações •Gerência de transações •Políticas de segurança •Coexistências de sistemas em múltiplas plataformas e sistemas legados •Permitir às organizações realizarem seus negócios •Ter vantagens tecnológicas por meio da combinação de inovação de processos, governança eficaz e estratégia de tecnologia •Reutilização de serviços •Melhora da produtividade e agilidade tanto para o negócio quanto para TI •Redução de custos no desenvolvimento e manutenção dos sistemas envolvidos SOA Principais elementos •Visão conceitual SOA •Serviços •Tecnologia •Políticas e governança SOA •Indicadores SOA •Modelo organizacional e de comportamento SOA Visão conceitual SOA é uma abordagem de como funcionalidades de TI podem ser planejadas, projetadas e disponibilizadas como serviços de negócio modulares para alcançar benefícios específicos. Visão conceitual SOA inclui: •Objetivos arquiteturais •Objetivos de TI •Objetivos de negócio •Modelo e políticas de governança para garantir padrões e requisitos tecnológicos SOA ao longo do tempo. SOA Serviços Modelo de projeto de serviços tem o fim de garantir: •Reuso •Interoperabilidade •Integração através dos processos de negócio e plataformas tecnológicas. Serviços utilizam padrões, por exemplo, Web Services: •WSDL (Web Services Description Language) •SOAP (Simple Object Access Protocol) •UDDI (Universal Description, Discovery and Integration registry) SOA Tecnologia Tecnologia é essencial para suportar e alcançar SOA, embora SOA não seja apenas tecnologia. Objetivos da tecnologia: •Serviços operem de forma confiável e segura •Permitir evoluir na arquitetura de TI existente, •Permitir que sistemas legados possam ser disponibilizados •Em muitas organizações sistemas legados são os principais contribuidores de serviços para o SOA •ESB (Enterprise Service Bus) •Uma das principais infra-estrutura de SOA •Permite combinar serviços de uma maneira fácil e flexível SOA Políticas e governança SOA A arquitetura conceitual SOA, visão e objetivos devem ser comunicados aos envolvidos: usuários do negócio, desenvolvedores, arquitetos de TI, executivos de negócio e de TI, analistas de negócio e parceiros do negócio. O apoio à estratégia SOA será importante para tomar decisões apropriadas: garantir tempo e recursos financeiros suficientes. SOA Políticas e governança SOA Equipe central para determinar aspectos gerais de SOA que serão específicos para a organização. Objetivo é a descentralização: balancear entre centralização e descentralização. SOA é alcançado de forma incremental, ao longo do tempo por continuamente definir e garantir padrões em que ele será baseado. O modelo de governança define processos de governança, regras e responsabilidades organizacionais, padrões e políticas que devem estar aderentes ao SOA. SOA Indicadores Indicadores são utilizadas para medir os resultados alcançados. Exemplos: •SLA (Service Level Agreement) •Indicadores de uso •Indicadores de conformidade à política •Indicadores de desenvolvimento •Indicadores de negócio •Indicadores de ROI (Return Of Investiment) •Indicadores de processos •Indicadores devem ser planejadas desde cedo. SOA Modelo organizacional e de comportamento Uma arquitetura de TI é um resultado de anos de comportamentos da organização, decisões de negócio, e escolhas arquiteturais. Para alcançar os objetivos SOA considerações organizacionais e de comportamento devem ser entendidas e alteradas primeiro; de forma gradual e ao longo do tempo. Modelos organizacionais novos e modelos de comportamentos serão essenciais para o sucesso SOA. SOA Comportamento e cultura Iniciativas SOA são direcionadas a processos e abrangem toda organização •Questões e desafios organizacionais •Proprietários de serviços •Relacionamento entre áreas do negócio e áreas de TI •Práticas de investimentos •Etc Para alcançar sucesso na implantação SOA, inicie com características comportamentais, culturais e outros fatores que garantirão o sucesso SOA. SOA Elementos SOA Por que agora? •Expansão geográfica dos negócios rapidamente •Suportar novos processos rapidamente •Utilização simultânea de funcionalidades de sistemas em diferentes plataformas •Implantação de novas tecnologias enquanto tecnologias mais antigas estão sendo subutilizadas •Alto custo de manutenção de sistemas legados, ao invés de investir em novos projetos estratégicos •SOA não é um conceito novo, mas agora é realizável: •Consenso sobre padrões por grandes empresas (por exemplo, Microsoft e IBM) •Tecnologia atual permite implementar serviços baseados em padrões •Melhor forma de integrar aplicações e negócios. SOA Integração Principal iniciativa SOA é resolver o problema de integração de aplicações. O que leva à integração? •Aquisições de novas empresas •Reorganização ou reestruturação coorporativa •Consolidação de aplicações e/ou de sistemas •Integração de dados e Data warehouse •Novas estratégias de negócios que leva a evolução dos sistemas para novos processos •Estar de acordo com novos mecanismos regulatórios •Simplificar processos de negócio tornando-os mais produtivos Arquitetura de TI Como a arquitetura tem evoluído A longo do tempo a arquitetura de software vem acumulando camadas sobre camadas de complexidade. Plataforma mainframe -> arquitetura cliente-servidor -> plataformas web Estas plataformas tornam-se parte do mesmo problema: •complexidade •tecnologias proprietárias Arquitetura de TI Possibilidades de evoluçãoSubstituir sistemas legados por sistemas modernos •Muito custoso •Risco de substituir sistemas legados que estão “funcionando” por novos sistemas requer grandes modificações para estar de acordo com o modelo do negócio e para os processos de negócio Reescrever sistemas legados para novas plataformas modernas, por exemplo, J2EE ou .Net. •As novas aplicações reescritas deverão estar de acordo com os processos do negócio •Mas, abordagem é muito custosa e difícil de justificar Arquitetura de TI Arquitetura Orientada a Serviços (SOA) Uma camada de serviços é introduzida na arquitetura de TI existente Provê a possibilidade de isolar áreas problemáticas, com risco de falhas, ou altos custos Camada de serviços possibilita isolamento, substituição, e/ou potencial consolidação dos desafios arquiteturais ao disponibilizar a flexibilidade de serviços reutilizáveis. Referências Material de aula da disciplina TEDRII do professor Leonardo Azevedo. ARQUITETURA DE SISTEMAS DISTRIBUIDOS Tipo de Avaliação: AV Aluno: 201002070686 - ALAN DA SILVA Professor: MAURO CESAR CANTARINO GIL Turma: 9002/AB Nota da Prova: 5,2 Nota de Partic.: 2 Data: 16/11/2013 15:01:19 �1a Questão (Ref.: 201002132345) Pontos: 0,8 / 0,8 Um importante processo para que um sistema distribuído tenha sucesso em sua implementação é o tratamento / resolução de falhas. Assinale abaixo qual conceito NÃO está relacionado ao processo. Mascaramento de falhas Fonte, processador, memória redundante Replicação de componentes. RAID Rede de alta velocidade �2a Questão (Ref.: 201002178283) Pontos: 0,0 / 0,8 Uma das formas de alcançar maiores velocidades dos computadores é o uso do paralelismo que pode ser introduzido em muitos níveis diferentes. Nesse contexto é correto afirmar: No paralelismo no nível de instrução, no qual uma sequência de instruções pode ser executada em paralelo por diferentes unidades funcionais, os elementos de processamento são fortemente acoplados. Os sistemas fortemente acoplados, normalmente, caracterizam-se por máquinas que possuem seu próprio sistema operacional e gerenciam seus próprios recursos. SMP (Symetric Multiprocessors) é um caso típico de sistema fracamente acoplado, que tem como característica o tempo uniforme de acesso à memória principal pelos diversos processadores. O fato da CPU poder comutar entre múltiplos threads, instrução por instrução, criando um multiprocessador virtual, caracteriza um processamento fracamente acoplado. Uma forma de paralelismo em que os elementos são fracamente acoplados é o multiprocessador de chip único, no qual dois ou mais núcleos são colocados no mesmo chip. �3a Questão (Ref.: 201002236044) DESCARTADA Em sistemas distribuídos, um dos pontos básicos que deve ser necessariamente observado, é o aspecto da transparência. Como se caracteriza este aspecto? Quais os tipos de transparência que podem ser implementadas em sistemas distribuídos? Resposta: Gabarito: Característica que esconde de usuários ou aplicativos detalhes de funcionamento do sistema distribuído, de tal forma que se tenha a impressão de que esse sistema é centralizado. Tipos de transparência: Acesso ¿ oculta diferenças na representação de dados e no modo de acesso a um recurso; Localização ¿ oculta o lugar em que um recurso está localizado; Migração- oculta que um recurso pode ser movido para outra localização; Relocação ¿ oculta que um recurso pode ser movido para outra localização durante o uso; Replicação ¿ oculta que um recurso é replicado; Concorrência ¿ oculta que um recurso pode ser compartilhado por diversos usuários concorrentes; Falha ¿ oculta a falha e a recuperação de um recurso �4a Questão (Ref.: 201002132350) Pontos: 0,0 / 0,8 As afirmações abaixo descrevem as características dos sistemas NUMA. Assinale a afirmativa que NÃO é característica deste sistema. Tempo de acesso a memória varia Sistema escalável e paralelo Utiliza memória cache para amenizar a diferença de velocidade entre processador e memória. Sistema distribuído que não permite o uso de memória cache. Cache Coherent - garantia de que os processadores sempre acessarão a cópia mais recente de cada cache. �5a Questão (Ref.: 201002236047) Pontos: 0,4 / 0,8 Como o aumento da preocupação com questões ambientais no mundo até mesmo o segmento de tecnologia e computação deve se adaptar. Nesse sentido, o conceito de TI verde tem sido aplicado em diversas áreas, inclusive em sistemas distribuídos como é identificado no site green500.org. Com base no ranking publicado neste site, quais são as principais característiicas avaliadas para a classificação das máquinas multiprocessadas? Resposta: quantidade de energia gasta pelas maquinas. Gabarito: Por décadas, a noção de performance tem sido sinônimo de velocidade e esse enfoque especial levou ao surgimento de supercomputadores que consomem grandes quantidades de energia elétrica e produzem tanto calor que exigem enormes instalações de refrigeração. Nesse sentido, um ponto que tem sido estimulado é o contexto de eficiência energética, que é a procurar aumentar a capacidade de processamento dessas máquinas com a redução do consumo de energia. �6a Questão (Ref.: 201002173193) Pontos: 0,8 / 0,8 Além do acesso a páginas html, a Internet tem sido usada cada vez mais para a cópia e troca de arquivos de músicas, filmes, jogos e programas. Muitos desses arquivos possuem direitos autorais e restrições de uso. Considerando o uso das redes ponto-a-ponto para a troca de arquivos de músicas, filmes, jogos e programas na Internet, a quem cabe a identificação e o cumprimento das restrições de uso associados a esses arquivos? aos equipamentos roteadores da Internet ao sistema operacional aos programas de troca de arquivo aos produtores dos arquivos aos usuários �7a Questão (Ref.: 201002178249) Pontos: 0,0 / 0,8 Um Web Service é definido pela W3C como um sistema de software projetado para fornecer interoperabilidade entre máquinas em uma determinada rede. Dentro do contexto dos Web Services assinale a alternativa correta. A interoperabilidade entre os Web Services e aplicações é garantida devido ao uso obrigatório da linguagem Java na implementação das aplicações. A UDDI (Universal Description, Discovery, and Integration) é uma linguagem baseada em XML que descreve o que um Web Service pode fazer, onde ele reside e como chamá-lo. A WSDL (Web Services Description Language) é uma especificação para publicar e localizar informações sobre Web Services. SOAP (Simple Object Access Protocol) é um protocolo, baseado em XML, para troca de informação estruturada com Web Services em redes de computadores. SOA (Simple Object Access) é uma plataforma de arquitetura orientada a serviços, utilizada como base para suportar os Web Services. �8a Questão (Ref.: 201002178214) Pontos: 0,8 / 0,8 Analise as seguintes afirmações sobre a computação em grade (grid): I. Toda colaboração é realizada sob a forma de uma organização virtual. II. A camada de conectividade deve compreender protocolos para a autenticação de usuários e recursos. III. Os sistemas computacionais envolvidos têm um alto grau de heterogeneidade. Assinale a opção correta. As afirmações I, II e III são verdadeiras. Apenas as afirmações I e II são verdadeiras. Nenhuma das afirmações é verdadeira Apenas as afirmações II e III são verdadeiras. Apenasas afirmações I e III são verdadeiras. �9a Questão (Ref.: 201002134307) Pontos: 0,8 / 0,8 Quando se trabalha com sistemas distribuídos uma das definições é estabelecer um sistema de arquivos que auxilie no gerenciamento, armazenamento e acesso aos arquivos disponibilizados na rede. De acordo com a afirmação assinale a alternativa INCORRETA. Deve permitir anonimato em relação à localização dos arquivos e/ou diretórios. Nunca permitir o acesso por vários usuários a mesma informação, sempre bloquear o acesso quando isto ocorrer A provisão dos serviços oferecidos pelos sistemas de arquivos distribuídos é feita pelo serviço de arquivo e pelo serviço de diretório. Um arquivo pode ser representado por várias cópias de seu conteúdo em diferentes locais O serviço de arquivo distribuído é responsável por indicar a localização de um determinado arquivo na rede. �10a Questão (Ref.: 201002089916) Pontos: 0,8 / 0,8 Quando possuímos em uma rede de computadores uma situação onde: Os clientes(usuários) consumidores do serviço oferecido por um servidor, que fornece este serviço simultaneamente a diversos usuários, estamos falando de: Modo de transmissão Full-Duplex Arquitetura Cliente/Servidor Sistemas distribuídos Topologia lógica estrela Arquitetura Ponto-a-Ponto �11a Questão (Ref.: 201002178182) Pontos: 0,8 / 0,8 O tipo clustering de um sistema operacional distribuído no qual somente um dos seus nós esteja trabalhando, enquanto os outros entram como reserva, denomina-se cluster de alta disponibilidade. alta coesão. alto desempenho. baixo acoplamento balanceamento de carga. Observação: Eu, ALAN DA SILVA, estou ciente de que ainda existe(m) 1 questão(ões) não respondida(s) ou salva(s) no sistema, e que mesmo assim desejo finalizar DEFINITIVAMENTE a avaliação. Data: 16/11/2013 15:19:05 Avaliação: AV » ARQUITETURA DE SISTEMAS DISTRIBUIDOS Tipo de Avaliação: AV Professor: MAURO CESAR CANTARINO GIL Turma: 9001/AA Nota da Prova: 5,5 Nota de Partic.: 1,5 Data: 14/03/2014 19:30:48 1a Questão (Ref.: 201002368422) Pontos: 0,5 / 0,5 Quanto aos modelos de sistemas distribuídos, encontramos os Sistemas de Computação de Cluster , que caracterizam-se por: um único programa, intensivo em computação, é executado em paralelo. os equipamentos costumam estar conectados através de uma rede de comunicação. recursos de diferentes organizações são reunidos para permitir a colaboração de um grupo de pessoas sob a forma de uma organização virtual. programar a utilização de transações, requer primitivas especiais que devem ser fornecidas pelo sistema distribuído subjacente ou pelo sistema de linguagem em tempo de execução. os equipamentos costumam ser caracterizados por seu pequeno tamanho, alimentação por bateria, mobilidade e conexão sem fio. 2a Questão (Ref.: 201002368408) Pontos: 0,5 / 0,5 Quanto aos modelos de sistemas distribuídos, encontramos os Sistemas Distribuídos Pervasivos, que caracterizam-se por: um único programa, intensivo em computação, é executado em paralelo. programar a utilização de transações, requer primitivas especiais que devem ser fornecidas pelo sistema distribuído subjacente ou pelo sistema de linguagem em tempo de execução. os equipamentos costumam ser caracterizados por seu pequeno tamanho, alimentação por bateria, mobilidade e conexão sem fio. os equipamentos costumam estar conectados através de uma rede de comunicação. recursos de diferentes organizações são reunidos para permitir a colaboração de um grupo de pessoas sob a forma de uma organização virtual. 3a Questão (Ref.: 201002332508) Pontos: 0,5 / 0,5 Quando possuímos em uma rede de computadores uma situação onde: Os clientes(usuários) consumidores do serviço oferecido por um servidor, que fornece este serviço simultaneamente a diversos usuários, estamos falando de: Arquitetura Ponto-a-Ponto Topologia lógica estrela Sistemas distribuídos Modo de transmissão Full-Duplex Arquitetura Cliente/Servidor 4a Questão (Ref.: 201002420804) Pontos: 0,0 / 0,5 A taxonomia de Flynn é utilizada para classificar sistemas de processamento paralelo. A figura apresenta uma das categorias definidas por Flynn. Qual das arquiteturas a seguir pertence à categoria mostrada na figura? UMA. Cluster. Uniprocessador. Processadores vetoriais. SMP. 5a Questão (Ref.: 201002398121) Pontos: 0,5 / 0,5 Um sistema distribuído é definido como uma coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente. Baseado nos conceitos definidos para sistemas distribuídos, identifique a afirmativa ERRADA: Um sistema distribuído fortemente acoplado provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário, onde vários processadores compartilham uma memória, e são gerenciados por apenas um sistema operacional. Um sistema distribuído fracamente acoplado permite que máquinas e usuários do ambiente sejam fundamentalmente independentes, bem como a interação de forma limitada, quando isto for necessário, compartilhando recursos como discos e impressoras, entre outros. Uma vantagem dos sistemas distribuídos sobre os sistemas centralizados é a disponibilidade de software para este tipo de ambiente. O modelo de computação distribuída Peer-to-Peer é uma tecnologia que estabelece uma espécie de rede virtual de computadores, onde cada estação tem capacidades e responsabilidades equivalentes. Uma aplicação cliente-servidor é um caso especial de processamento distribuído no qual existe uma forma de cooperação entre dois ou mais processos, sendo essa cooperação realizada através de requisições dos componentes alocados ao cliente e das respostas que são fornecidas pelos componentes alocados ao servidor. 6a Questão (Ref.: 201002495893) Pontos: 0,5 / 0,5 (IADES - 2011 - PG-DF) Segundo Andrew Tanembaum (2007) Sistema Distribuído é uma coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente. Assinale a alternativa CORRETA a respeito de um sistema distribuído. Em um sistema de objetos distribuídos é possível invocar métodos de um objeto, ainda que este não esteja presente no computador do usuário. Em uma rede de computadores há servidores dedicados a atender pedidos dos clientes e estes, por sua vez, têm função exclusiva de requisitantes. Todos os computadores de uma rede executam tarefas de cliente e servidor, quando se deseja integrá- los em uma arquitetura de sistemas distribuídos. A transparência de acesso é uma característica dos sistemas distribuídos que permite que recursos sejam acessados sem que sua localização seja determinada. A distribuição de tarefas se dá a partir de requisições do usuário, que indica o endereço do servidor onde deseja executar tal tarefa. 7a Questão (Ref.: 201002331721) Pontos: 1,0 / 1,0 A denominação SMP refere-se tanto à arquitetura de hardware do computador quanto ao comportamento do sistema operacional que reflete esta arquitetura. Um SMP é um sistema de computador independente sobre o qual é INCORRETO afirmar que como todos os processadores são capazes de desempenhar as mesmas funções, em um multiprocessador simétrico, uma falha em um único processador não causa a parada do sistema, podendocontinuar a funcionar, com desempenho reduzido existem dois ou mais processadores similares, com capacidade de computação compatível e que compartilham a mesma memória principal e facilidades de E/S. os processadores são conectados entre si por meio de um barramento ou de outro esquema de conexão interno, de forma que o tempo de acesso à memória é aproximadamente o mesmo para cada processador. para resolver o problema de coerência de cache, utiliza um único cache para todos os processadores e adota a política de escrita direta onde as operações de escrita são usualmente efetuadas apenas sobre a cache, sendo a memória principal atualizada somente quando a linha correspondente é removida da cache. o sistema é controlado por um sistema operacional integrado, que provê interação entre os processadores e seus programas, em nível de tarefas, de arquivos e de dados 8a Questão (Ref.: 201002420875) Pontos: 1,0 / 1,0 Uma das formas de alcançar maiores velocidades dos computadores é o uso do paralelismo que pode ser introduzido em muitos níveis diferentes. Nesse contexto é correto afirmar: Uma forma de paralelismo em que os elementos são fracamente acoplados é o multiprocessador de chip único, no qual dois ou mais núcleos são colocados no mesmo chip. Os sistemas fortemente acoplados, normalmente, caracterizam-se por máquinas que possuem seu próprio sistema operacional e gerenciam seus próprios recursos. SMP (Symetric Multiprocessors) é um caso típico de sistema fracamente acoplado, que tem como característica o tempo uniforme de acesso à memória principal pelos diversos processadores. No paralelismo no nível de instrução, no qual uma sequência de instruções pode ser executada em paralelo por diferentes unidades funcionais, os elementos de processamento são fortemente acoplados. O fato da CPU poder comutar entre múltiplos threads, instrução por instrução, criando um multiprocessador virtual, caracteriza um processamento fracamente acoplado. 9a Questão (Ref.: 201002420926) Pontos: 1,0 / 1,5 Considere uma aplicação que atua como servidor de arquivos. É função deste servidor permitir a leitura e escrtita de arquivos em um disco da rede, transferência de arquivos para diferentes midias (pen-drive, cd...) além de fornecer uma lista com o conteúdo de um diretório. As operações são solicitadas por processos cliente. Devemos utilizar servidores iterativos ou concorrentes? Justifique sua resposta. Resposta: Concorrentes, pois a informação deve ser acessada por uma única aplicação por vez, garantindo a integridade dos dados. Gabarito: Servidores Concorrente, pois não é possivel prever o tempo de resposta de cada requisição. O servidor pode ficar ocupado durante um longo periodo de tempo e as requisições seriam descartadas caso fosse iterativo. 10a Questão (Ref.: 201002420929) Pontos: 0,0 / 1,5 Quais as funções do módulo stub do cliente em uma RPC? Resposta: Inicar a comunicação entre o cliente e o servidor. Gabarito: Transformar a chamada de função em mensagem e envia-la ao servidor. Transforma a mensagem de retorno em retorno de função. Arquitetura de sistemas distribuídos – profº andre edpinghaus andreedpinghaus@gmail.com Rio de Janeiro - 05/08/13 1. Evolução da computação: 1.1: computação centralizada – mainframe; 1.2: microcomputadores e redes de computadores; 1.3: sistemas distribuídos. 2. Introdução a sistemas distribuídos 2.1: características 2.2: aplicações distribuídas e TI verde. 2.3: tratamento de falhas. 2.4: classificação flynn 2.5: modelos de programação 3. comunicação nos sistemas distribuídos 3.1 introdução aos modelos de comunicação 3.2: modelo cliente-servidor 3.3: comunicação através de socketes 3.4: chamada a procedimento remoto 3.5: modelo peer-to-peer. 4. serviços em sistemas distribuídos 4.1: sistemas de arquivos distribuídos 4.2: serviços web 4.3: computação ubíqua 4.4: computação nas nuvens Bibliografia: Tanembaum, “sistemas distribuídos: princípios e paradigmas”, 2ª edição, Pearson, 2007. Silberschatz, “fundamentos de sistemas operacionais”, 8ª edição, ltc, 2010. A partir de meados da década de 80, dois avanços tecnológicos começaram a mudar o mundo. O primeiro foi o desenvolvimento de microprocessadores de grande capacidade. O segundo foi a invenção de redes de computadores de alta velocidade. O resultado dessas tecnologias é que, é viável e fácil montar sistemas de computação compostos por grandes quantidades de computadores, conectados por uma rede de alta velocidade denominados sistemas distribuídos. Rio de Janeiro - 12/08/13 Definição de um sistema distribuído É um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente. Uma característica importante é que as diferenças entre os vários computadores e o modo como eles se comunicam, estão em grande parte, ocultas aos usuários. Para suportar computadores e redes heterogêneas e, simultaneamente, oferecer uma visão de sistema único os sistemas distribuídos costumam ser organizados por meio de uma camada de software denominada middleware. Metas Um sistema distribuído deve oferecer fácil acesso a seus recursos, ocultando o fato de que os mesmos são distribuídos por uma rede; deve ser aberto e permitir ser expandido. Rio de Janeiro - 19/08/13 Acesso a recursos A principal meta de um sistema distribuído, é facilitar aos usuários e as aplicações, o acesso ao recurso remoto e seu compartilhamento de maneira controlada e eficiente. Este conceito está diretamente ligado a TI verde e ao acesso a recursos compartilhados pois é mais fácil e barato permitir que uma impressora seja compartilhada por diversos usuários do que ter e manter uma impressora direcionada a cada usuário. Contudo, a medida que a conectividade e o compartilhamento crescem, a segurança se torna cada vez mais importante. Transparência da distribuição Uma meta importante de um sistema distribuído é ocultar o fato de que seus processos e recursos estão fisicamente distribuídos por vários computadores. Um sistema distribuído que é capaz de se apresentar a usuários e aplicações como se fosse apenas um único sistema é denominado transparente. Tipos de transparências: Acesso -> trata de ocultar diferenças entre representação de dados e o modo como os recursos podem ser acessados. Localização -> oculta o lugar em que um recurso está localizado. Migração -> oculta que um recurso pode ser movido para outra localização. Relocação -> oculta que um recurso pode ser movido para uma outra localização enquanto em uso. Replicação -> oculta que um recurso é replicado. Rio de Janeiro - 26/08/2013 Concorrência -> oculta que um recurso pode ser compartilhado por diversos usuários concorrentes. Oculta falha e recuperação. Abertura -> um sistema distribuído aberto é um sistema que oferece serviços de acordo com regras padronizadas. Há regras que governam o formato, o conteúdo e o significado de mensagens enviadas e recebidas. No Caso de sistemas distribuídos, em geral, os serviços são especificados por meio de interfaces, que costumam ser descritas em uma linguagem de definição de interface (IDL). Interoperabilidade -> caracteriza até que ponto duas implementações de sistemas ou componentes de fornecedores diferentes devem coexistir e trabalharem em conjunto, com base na mera confiança mútua nos serviços de cada um, especificados por um padrão comum. Portabilidade -> até que ponto uma aplicaçãodesenvolvida para um sistema distribuído A pode ser executada, sem modificação para um sistema distribuído diferente B. Escalabilidade -> um sistema pode ser escalável em relação a seu tamanho, é fácil adicionar mais recursos e usuários ao sistema, em termos geográficos um sistema no qual usuários e recursos podem estar longe um dos outros; em termos administrativos pode ser fácil de gerenciar mesmo que abranja muitas organizações administrativas diferentes. Rio de Janeiro – 02/09/2013 Tipos de sistemas Sistemas e computação em cluster estações de trabalho os PCS semelhantes, conectados por meio de uma rede local de alta velocidade. Em quase todos os casos a computação de cluster é usada para programação paralela na qual um único programa é executado em paralelo em várias máquinas. Sistemas de computação em grade montados com federação de computadores na qual cada sistema pode cair sob um domínio administrativo diferente, no qual tange a hardware e software e tecnologia de rede empregada. Esta arquitetura possui 4 camadas: a camada base prover interfaces para recursos locais em um site específico; A camada de conectividade consiste em protocolos de comunicação para suportar transações da grade, que abranjam múltiplos recursos; a camada de recursos é responsável pelo gerenciamento de um único recurso: a camada coletiva permite manipular o acesso a múltiplos recursos possuindo serviços de alocação e escalonamento de tarefas. Aplicações Camada coletiva Conectividade Camada base Sistemas de informação distribuídos encontrada em organizações e se defrontam com uma profusão de aplicações em rede para as quais interoperabilidade se mostrou uma experiência dolorosa. Sistemas de Processamento de Transações características deste modelo, que são: 1) Atômicas Rio de Janeiro - 09/09/2013 1) Atômicas rior, a transação acontece como se fosse indivisível. 2) Consistentes -> a transação não viola invariantes de sistema. 3) Isoladas -> transações concorrentes não interferem umas com as outras. 4) Duráveis -> uma vez comprometida uma transação, as alterações são permanentes. Transação Aninhada subtransações. A transação do nível mais alto pode se ramificar e gerar filhos que executam em paralelo. Integração de aplicações empresariais ideia era que aplicações existentes pudessem trocar informações diretamente. Podemos utilizar a chamada de procedimento remoto( RPC) e invocações de método remoto(RMI), NO ENTANTO, esses dois métodos possuem a desvantagem de estar ligados e em funcionamento no momento da comunicação. A solução é utilizar o middleware orientado a mensagem (MOM). Sistemas distribuídos pervasivos alimentação por bateria, por sua mobilidade e por terem uma conexão sem fio. Um aspecto muito importante dos sistemas pervasivos é que os dispositivos se juntam ao sistema para acessar e fornecerem informações com facilidade Sistemas domésticos por exemplo aparelhos de TV, dispositivos para jogos, câmaras de segurança, controladores de iluminação, etc. Rio de Janeiro – 16/09/2013 Sistemas eletrônicos para tratamento de saúde médico, estão sendo desenvolvidos novos dispositivos para monitorar o bem estar de indivíduos e entrar automaticamente em contato com médicos quando necessário. Sistemas para tratamento de saúde costumam ser equipados com vários sensores organizados em uma rede de área corporal ( BODY-AREA NETWORK)BAN. Redes de sensores sistemas distribuídos é que em praticamente todos os casos elas são usadas para processar informações. Normalmente uma rede de sensores consiste em dezenas a centenas de milhares de nós relativamente pequenos, cada um equipado com dispositivo de sensoriamento. Estritamente relacionados com as redes de sensores , são as redes em malha, que em essência formam um conjunto de nós que se comunicam por meio de ligação sem fio e formam a base para muitos sistemas distribuídos de médio porte. Arquiteturas Arquiteturas em camadas forma que um componente na camada LI , tem permissão de chamar componentes na camada Subjacente LI-1, esse modelo é adaptado pela comunidade de redes. Baseadas em objetos componente, e esse componentes são conectados por meio de uma chama de procedimentos (REMOTA). Arquitetura centrada em dados comunicam por meio de um repositório comum ( positivo ou ativo). Arquiteturas baseadas em eventos propagação de eventos que também podem transportar dados. Rio de Janeiro – 23/09/2013 1) Defina Sistema Operacional em lote. Os programas eram enfileirados em disco ou fita e aguardavam a execução, um por vez. Normalmente, os programas (jobs) não necessitavam de interação com o usuário. Embora sejam considerados como os precursores dos sistemas multiprogramados, pois aproveitavam os tempos de E/S para a execução de outros processos, o processamento era puramente sequêncial e ofereciam longos tempos de resposta. 2) Defina Sistema Operacional de tempo real. São semelhantes aos sistemas time-sharing, embora exijam tempo de resposta dentro de limites rígidos, na execução de tarefas. O conceito de time-slice é muito pouco utilizado e os processos executam o tempo necessário e conforme sua prioridade. São sistemas muito utilizados em controle de processos, onde o tempo é um fator crucial: refinaria de petróleo, automação industrial, controle de tráfego aéreo etc.. Neste sistema, os processos geralmente são ativados por sensores. 3) Defina Sistema Distribuído. Um sistema distribuído é um conjunto de computadores independentes entre si que se apresenta a seus usuários como um sistema único e coerente. 4) Qual a importância da invenção das redes para os sistemas distribuídos? 5) Porque o uso dos padrões revolucionou as redes de computadores? 6) Como é composto / organizado um sistema distribuído? 7) Defina middleware. Middleware é um termo geral, normalmente utilizado para um de código de software que atua como um aglutinador, ou mediador, entre dois programas existentes e independentes. Sua função é trazer independência das aplicações com o sistema de transmissão. 8) Qual é a meta de um sistema distribuído? Um sistema distribuído deve oferecer fácil acesso a seus recursos, ocultando o fato de que os mesmos são distribuídos por uma rede; deve ser aberto e permitir ser expandido. 9) O que seria transparência em relação a sistemas distribuídos? 10) Quais são os tipos de transparência possíveis? 11) Defina sistema distribuído aberto. É um sistema que oferece serviços de acordo com regras padronizadas. Há regras que governam o formato, o conteúdo e o significado de mensagens enviadas e recebidas. No Caso de sistemas distribuídos, em geral, os serviços são especificados por meio de interfaces, que costumam ser descritas em uma linguagem de definição de interface (IDL). 12) O que é portabilidade em relação a sistemas distribuídos? Verifica até que ponto uma aplicação desenvolvida para um sistema distribuído A pode ser executada, sem modificação para um sistema distribuído diferente B. 13) Quais são as dimensões de medida de escalabilidade? Um sistema pode ser escalável em relação a seu tamanho, é fácil adicionar mais recursos e usuários ao sistema, em termos geográficos um sistema no qual usuários e recursos podem estar longe um dos outros; em termos administrativos pode ser fácil de gerenciar mesmo que abranja muitas organizações administrativas diferentes. 14) Quais são os tipos de sistemas distribuídos?Sistemas de Computação, Sistemas de Informação Distribuídos, Sistemas Pervasivos, Sistemas de Computação em Cluster, Sistemas de Computação em Grade, Sistemas de Processamento de Transações, Sistemas Domésticos. 15) Defina as camadas base de um sistema de computação em grade? A camada base prover interfaces para recursos locais em um site específico; A camada de conectividade consiste em protocolos de comunicação para suportar transações da grade, que abranjam múltiplos recursos; a camada de recursos é responsável pelo gerenciamento de um único recurso: a camada coletiva permite manipular o acesso a múltiplos recursos possuindo serviços de alocação e escalonamento de tarefas. 16) O que é um sistema de processamento de transações? 17) Quais são as propriedades que definem um sistema de processamento de transações? Atômicas Consistentes -> a transação não viola invariantes de sistema. Isoladas -> transações concorrentes não interferem umas com as outras. Duráveis -> uma vez comprometida uma transação, as alterações são permanentes. 18) Defina uma transação aninhada. Uma transação aninhada é construída com base em uma quantidade de subtransações. A transação do nível mais alto pode se ramificar e gerar filhos que executam em paralelo. 19) Qual a importância das chamadas de procedimento remoto em uma aplicação distribuída? 20) Defina sistemas pervasivos. São caracterizados por seu pequeno tamanho, pela alimentação por bateria, por sua mobilidade e por terem uma conexão sem fio. Um aspecto muito importante dos sistemas pervasivos é que os dispositivos se juntam ao sistema para acessar e fornecerem informações com facilidade. 21) O que é uma rede de área corporal? 22) Qual a importância de uma rede de sensores? 23) Dê exemplos de uma rede de sensores. 24) Quais são os problemas para implementar um sistema distribuído? 25) Defina arquitetura baseada em objetos. Em essência cada objeto corresponde ao que definimos como componente, e esses componentes são conectados por meio de uma chamada de procedimentos (REMOTA). 26) Defina arquitetura baseada em dados. Desenvolvem-se em torna da ideia de que processos se comunicam por meio de um repositório comum ( positivo ou ativo). MATÉRIA AV2 COMEÇA AQUI : Rio de Janeiro – 28/10/2013 Comunicação Distribuida: Soquete : É definido como uma extremidade de um canal de comunicação. Um soquete é formado por um endereço de IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos de clientes ou vindos por uma porta específica. Assim que é recebido, o servidor aceita uma conexão soquete para completar a conexão. RPC (Chamada de Procedimento Remoto) : Um soquete só permite a troca de fluxo não estruturado de bytes, sendo responsabilidade da aplicação cliente ou servidor impor uma estrutura. O sistema RPC permite uma Thread chame um procedimento ou função em outro processo. A vantagem é que o RPC gerencia o canal de comunicação. RMI ( Invocação de Método Remoto) : A RMI permite que um Thread invoque um método em um objeto remoto. Os objetos são considerados remotos se residirem em uma máquina virtual java. CORBA : é um middleware, uma camada de software intermediaria, que permite a comunicação entre aplicações cliente-servidor heterogênea. Por exemplo, um programa C++ pode usar CORBA para acessar um banco de dados escrito em COBOL. Rio de Janeiro – 04/11/2013 É na melhor das hipoteses uma informação muito grosseira. Fluxo instruções Fluxo dados Nome Exemplos 1 1 SISD Máquina de Von Neumann. 1 Múltiplas SIMD Supercomputador vetorial Múltiplas 1 MISD Nenhum Múltiplas Múltiplas MIMD Multiprocessador, multicomputador. Trabalho em grupo no máximo 4 pessoas (entregar dia 18NOV) com suas palavras. Falar sobre: 2. Tipos e aplicações de um supercomputador vetorial; 3. Pesquisa sobre uma distribuição de Linux que gerencie cluster “Fox” (histórico de como ela usa); 4. Falar sobre software que gerencia hd, processador e memória de computadores em nuvem (nome, etc.) No mínimo 5 e no máximo 10 folhas. Valor: 2,0. Pontos SD (um dado) MD (múltiplos dados) SI (uma instrução) SISD (Von Neumann) SIMD (Array) MI (múltiplas instruções MISD (Pipelines) MIMD (Multicomputadores e multiprocessadores) Um fluxo de instruções corresponde a um contador de programa. Um fluxo de dados consiste em um conjunto de operandos. Por exemplo, o cálculo de temperatura possui vários fluxos de dados, um para cada sensor. Os fluxos de dados e instruções são independentes e possuem 04 combinações: SI (uma instrução), SD(um dado), MI(múltiplas instruções), MD (múltiplos dados) e suas combinações formam SISD, SIMD, MISD(só na teoria, porque não existe múltiplas instruções pra um único dado) e MIMD. - Sistemas distribuídos baseados na web A arquitetura não apresenta diferenças fundamentais em relação a de outros sistemas distribuídos. Diferentemente de muitos sistemas distribuídos, os sistemas distribuídos baseados na web são relativamente novos. Muitos sistemas ainda são organizados como arquitetura cliente-servidor. Rio de Janeiro – 18/11/2013 - Sistemas distribuídos baseados na web (CONTINUAÇÃO) Sistemas de arquivos em Rede: NFS / AFS / CDDA / Sprite Composição de sistemas web ( XML – UDDI ; WSDL ) WSDL : Contém as definições exatas das interfaces fornecidas por um serviço por meio da linguagem de definição de serviços web, linguagem formal muito parecida com as usadas em RPC. UDDI : Integração , Descoberta e Descrição Universal. Preescreve em layout de um banco de dados que contém descrições de serviços. SOAP ( Protocolo Simples de acesso ao objeto ) : É o padrão para comunicação em serviços web não sendo um protocolo difícil e sua principal finalidade é fornecer um meio relativamente simples de permitir que partes diferentes que talvez saibam muito pouco uma das outras consigam se comunicar. Avaliação: CCT0180_AV2_201001509341 » ARQUITETURA DE SISTEMAS DISTRIBUIDOS Tipo de Avaliação: AV2 Aluno: 201001509341 - RAPHAEL DA SILVA ROMA Professor: MAURO CESAR CANTARINO GIL Turma: 9001/AA Nota da Prova: 5,5 de 8,0 Nota do Trabalho: Nota de Participação: 0 Data: 14/06/2013 09:28:58 1a Questão (Cód.: 48076) Pontos: 0,5 / 0,5 Quanto aos modelos de sistemas distribuídos, encontramos os Sistemas de Computação de Cluster , que caracterizam-se por: os equipamentos costumam estar conectados através de uma rede de comunicação. os equipamentos costumam ser caracterizados por seu pequeno tamanho, alimentação por bateria, mobilidade e conexão sem fio. um único programa, intensivo em computação, é executado em paralelo. recursos de diferentes organizações são reunidos para permitir a colaboração de um grupo de pessoas sob a forma de uma organização virtual. programar a utilização de transações, requer primitivas especiais que devem ser fornecidas pelo sistema distribuído subjacente ou pelo sistema de linguagem em tempo de execução. 2a Questão (Cód.: 54599) Pontos: 0,0 / 0,5 Nas afirmativas abaixo temos características dos sistemas fortemente acoplados. Assinale a característica que NÃO pertence a este tipo de sistema. Os diversos processadores acessam o conteúdo de variáveis na memória Memória global e única. A troca de mensagens entre os processadores acontece através da troca de ponteiros de memória. Memória distribuída com endereçamento único Comunicação entre processos exclusivamente através de troca de mensagens. 3aQuestão (Cód.: 158293) Pontos: 0,0 / 1,5 Como o aumento da preocupação com questões ambientais no mundo até mesmo o segmento de tecnologia e computação deve se adaptar. Nesse sentido, o conceito de TI verde tem sido aplicado em diversas áreas, inclusive em sistemas distribuídos como é identificado no site green500.org. Com base no ranking publicado neste site, quais são as principais característiicas avaliadas para a classificação das máquinas multiprocessadas? Resposta: Compartilhar o processamento disponível entre máquinas; Gabarito: Por décadas, a noção de performance tem sido sinônimo de velocidade e esse enfoque especial levou ao surgimento de supercomputadores que consomem grandes quantidades de energia elétrica e produzem tanto calor que exigem enormes instalações de refrigeração. Nesse sentido, um ponto que tem sido estimulado é o contexto de eficiência energética, que é a procurar aumentar a capacidade de processamento dessas máquinas com a redução do consumo de energia. 4a Questão (Cód.: 100574) Pontos: 1,5 / 1,5 O desenvolvimento de aplicações distribuídas utilizando RPC é considerada de alto nível, enquanto a utilização direta de sockets é considerada de baixo nível. Cite e descreva UMA vantagem e UMA desvantagem da utilização de RPC em relação a programação com sockets Resposta: Vatangem: RPC abstrai do programador os detalhes referentes a comunicação; Desvantagem: Precisa das informações do cliente que acessa o servidor para liberar a conexão. Gabarito: Vantagem: não é necessário conhecer os detalhes da rede pois o middleware é resposável pela conversão de chamada de função (como se fosse local) em mensagem Desvantagem: não há um controle efetivo de erros. 5a Questão (Cód.: 100475) Pontos: 1,0 / 1,0 O objetivo de uma camada de Middleware em um sistema multicamadas é: permitir acesso a dispositivos de hardware, como câmeras e impressoras, através de uma API de alto nível; disponibilizar classes utilitárias e serviços independentes de plataforma que permitam a obtenção de computação distribuída em ambientes heterogêneos. oferecer componentes relacionados ao negócio para serem utilizados na construção de aplicativos pelos engenheiros de sistemas; cuidar de aspectos relacionados com a infraestrutura de rede, definindo interfaces de comunicação com hubs e roteadores; prover uma interface de acesso padrão a um sistema operacional específico, de modo a disponibilizar os serviços nele existentes a clientes em outras plataformas; 6a Questão (Cód.: 95439) Pontos: 1,0 / 1,0 Além do acesso a páginas html, a Internet tem sido usada cada vez mais para a cópia e troca de arquivos de músicas, filmes, jogos e programas. Muitos desses arquivos possuem direitos autorais e restrições de uso. Considerando o uso das redes ponto-a-ponto para a troca de arquivos de músicas, filmes, jogos e programas na Internet, a quem cabe a identificação e o cumprimento das restrições de uso associados a esses arquivos? ao sistema operacional aos equipamentos roteadores da Internet aos programas de troca de arquivo aos usuários aos produtores dos arquivos 7a Questão (Cód.: 100464) Pontos: 0,5 / 0,5 Desenvolvido pela Sun Microsystems, o Network Information Service - NIS é um serviço para distribuição de informações por uma rede, com as seguintes características: I. a informação administrativa que é armazenada no servidor não precisa ser duplicada, tornando possível medir a consistência dos dados, além de aumentar a flexibilidade para os usuários. II. fornecer aos usuários um ambiente transparente, facilitando a administração do ambiente, pelo fato de manter uma base de dados centralizada na rede, diminuindo as inconsistências e tornando a manutenção mais fácil. III. manter dados importantes, como informações de todas as contas de usuários na rede sincronizadas em todas as máquinas, pois isto permite ao usuário mover-se de um computador para outro sem o inconveniente de ter que se lembrar de diferentes senhas, ou copiar dados de uma máquina para outra. O funcionamento do NIS se baseia em um componente, composto fundamentalmente do servidor, que armazena as informações do cliente e que acessa o servidor, além de várias ferramentas administrativas. Esse componente é denominado: Administration Procedure Call - APC. Network Procedure Call - NPC. Secure Procedure Call - SPC. Manager Procedure Call - MPC. Remote Procedure Call - RPC. 8a Questão (Cód.: 100582) Pontos: 0,5 / 0,5 Em relação ao modelo P2P, o modelo cliente-servidor é: mais propicio a distribuição de conteúdo pirata. mais fácil de manter a disponibilidade de conteúdo menos sujeito a gargalos. mais fácil de controlar o acesso a determinado ambiente mais difícil de implementar 9a Questão (Cód.: 100581) Pontos: 0,0 / 0,5 A comunicação entre cliente e servidor utilizando sockets prevê: que o servidor execute a função listen para aguardar uma conexão do cliente. que o cliente utilize a função connect para se conectar ao servidor. que o socket criado pelo cliente seja também utilizado pelo servidor. que o servidor execute a função bind a cada conexão recebida que o cliente execute a função socket para estabelecer uma conexão 10a Questão (Cód.: 99556) Pontos: 0,5 / 0,5 No que diz respeito aos sistemas distribuídos, o modelo Cliente/Servidor tem por objetivo gerenciar a descentralização de dados e recursos de processamento, existindo uma ou mais máquinas que atuam como servidores, disponibilizando recursos para as demais máquinas, as quais atuam como clientes, estando todos os computadores conectados por meio de uma rede. Existem duas abordagens: a de duas camadas, característica das primeiras aplicações, na qual a lógica do negócio fica toda no cliente; e a de três camadas, cuja lógica é retirar as regras do negócio dos processos-clientes e centralizá-las em um determinado ponto, denominado servidor de aplicações, visando facilitar as modificações e as atualizações das regras. Nesse último modelo, a primeira camada é chamada GUI (Graphical User Interface), que permite a interação direta com o usuário; a segunda, está associada às funções e regras do negócio; e a terceira, é responsável pelo repositório das informações e as classes que a manipulam. Sendo a primeira camada conhecida como de apresentação, as outras duas, nessa ordem, são denominadas, respectivamente: de interação e de processos. de interação e de dados. de negócio e de processos. de negócio e de dados. de negócio e de relacionamentos. Período de não visualização da prova: desde 03/06/2013 até 18/06/2013. Avaliação: CCT0227_AV2_201307260683 » ARQUITETURA DE SISTEMAS DISTRIBUIDOS Tipo de Avaliação: AV2 Aluno: 201307260683 - JÚLIO FEITOZA NUNES Professor: MAURO CESAR CANTARINO GIL Turma: 9001/A Nota da Prova: 4,5 de 8,0 Nota do Trab.: 0 Nota de Partic.: 2 Data: 18/06/2014 21:11:07 1a Questão (Ref.: 201307445046) Pontos: 1,5 / 1,5 Michael J. Flynn propôs a taxonomia de Flynn em 1966, um primeiro esquema para classificar computadores em configurações de paralelismo crescente. O esquema consiste em quatro categorias. Quais são essas categorias e qual é o significado de cada uma dessas classes? Resposta: SISD - Uma instrução um dado SIMD - Uma instrução multiplos dados MISD - Mutiplas instruções um Dado MIMD - Multiplas instruções e multiplos dados Gabarito: SISD - Computadores de fluxo único de instruções, fluxo único de dados (Single-Instruction-Stream, Single-Data-Stream) são o tipo mais simples. São os monoprocessadores tradicionais nos quais um único processador busca uma instrução por vez e a executa sobre um único item de dado. MISD - Computadores de fluxo múltiplo de instruções, fluxo único de dados (Multiple-Instruction-Stream, Single-Data-Stream) não são usados. Uma arquiteturaMISD teria várias unidades de processamento que agiriam sobre um fluxo único de dados. Cada unidade executaria uma instrução diferente nos dados e passaria o resultado para a próxima unidade. SIMD - Computadores de fluxo único de instruções, fluxo múltiplo de dados (Single-Instruction- Stream, Multiple-Data-Stream ) emitem instruções que agem sobre vários itens de dados. Um computador SIMD consiste em uma ou mais unidades de processamento MIMD - Computadores de fluxo múltiplo de instruções, fluxo múltiplo de dados (Multiple-Instruction-Stream, Multiple-Data-Stream) são multiprocessadores nos quais as unidades processadoras são completamente independentes e operam sobre fluxos de instruções separados. 2a Questão (Ref.: 201307387334) Pontos: 1,5 / 1,5 Quais as funções do módulo stub do cliente em uma RPC? Resposta: Serve para pegar a mensagem da aplicação e enviar para o servidor, até chegar do outro lado e ser desempacotada e entregue novamente para aplicação. Ele faz controle de do fluxo. Gabarito: Transformar a chamada de função em mensagem e envia-la ao servidor. Transforma a mensagem de retorno em retorno de função. 3a Questão (Ref.: 201307380440) Pontos: 0,0 / 0,5 Considere uma aplicação que atua como servidor de arquivos. É função deste servidor permitir a leitura e escrtita de arquivos em um disco da rede, transferência de arquivos para diferentes midias (pen-drive, cd...) além de fornecer uma lista com o conteúdo de um diretório. As operações são solicitadas por processos cliente. Devemos utilizar servidores iterativos ou concorrentes? Assinale a resposta que justifica corretamente a escolha feita. Iterativo, pois o tempo de resposta é previsivel. Não podemos afirmar pois depende do tempo de resposta de cada solicitação. Concorrente, pois não podemos prever o tempo de resposta de cada solicitação. Concorrente, pois cada cliente pode fazer uma unica requisição. Iterativo, pois somente um cliente pode fazer uma requisição de cada vez. 4a Questão (Ref.: 201307387224) Pontos: 0,5 / 0,5 Qual das opções abaixo apresenta somente serviços de middleware? Mecanismos de chamada de procedimento remoto (RPC); comunicação pelo uso de soquetes; mecanismos de comunicação através da linguagem SQL. Mecanismos de comunicação através da linguagem SQL; facilidades de uso de múltiplos processadores; mecanismos de chamada de procedimento remoto (RPC). Mecanismos de chamada de procedimento remoto (RPC); facilidades de uso de múltiplos processadores; compartilhamento de memória entre processos. Compartilhamento de memória entre processos; facilidades de uso de múltiplos processadores; comunicação pelo uso de soquetes. Mecanismos de comunicação através da linguagem SQL; compartilhamento de memória entre processos; comunicação pelo uso de soquetes. 5a Questão (Ref.: 201307536449) Pontos: 0,0 / 0,5 Analise as seguintes afirmativas concernentes a questões de projeto de sistemas distribuídos. I. Um sistema distribuído tolerante a falhas deve continuar operando na presença de problemas, podendo ocorrer uma degradação tanto no seu desempenho, como nas suas funcionalidades. II. No que diz respeito aescalabilidade,oproje→deumsistemadistribuídodevepreverqueademandanosserviçosemqualquerdosequipamen→ssejalimitadaporumaconstantedependentedonúmerodenodosenvolvidos. III. Em um sistema distribuído transparente quanto à concorrência, a informação de quantos usuários estão empregando determinado serviço deve ser omitida. A análise permite concluir que: Somente a afirmativa I está incorreta. Somente a afirmativa II está incorreta. Somente as afirmativas I e III estão incorretas. As afirmativas I, II e III estão incorretas. Somente a afirmativa III está incorreta. 6a Questão (Ref.: 201307341334) Pontos: 0,5 / 0,5 São componentes indispensáveis dos sistemas distribuídos, EXCETO: Troca de informações entre os participantes do sistema Conectividade entre os nós utilizando servidores. Rede de comunicação Centralizador do processamento. Porcessadores individuais participantes do sistema 7a Questão (Ref.: 201307387199) Pontos: 0,0 / 0,5 Em sistemas distribuídos, clusterização é o nome que se dá ao processo de interconexão de múltiplas máquinas com o objetivo de obter um aumento de disponibilidade, desempenho ou capacidade total de um sistema. Em relação à clusterização é correto afirmar: A execução do failback de um serviço não exige que as duas máquinas envolvidas possuam recursos equivalentes. A principal diferença entre clusters assimétricos e simétricos é que no cluster simétrico há a figura de um servidor inativo aguardando uma falha de outro. Failover é o processo de retorno de um determinado serviço de uma outra máquina para sua máquina de origem. Failback é o processo no qual uma máquina assume os serviços de outra quando esta apresenta alguma falha. Dependendo da natureza do serviço, executar uma operação de failover significa interromper as transações em andamento, perdendo-as, sendo necessário reiniciá-las após o término do processo 8a Questão (Ref.: 201307520444) Pontos: 0,0 / 1,0 Sistemas peer-to-peer são uma aplicação de sistemas distribuídos, em que usuários compartilham (transferem) arquivos remotos de forma bastante transparente. Um desses sistemas é o BitTorrent, que faz uso de computadores distribuídos na internet para troca de arquivos. Em particular, este faz uso de uma política chamada tit-for-tat para incentivar o compartilhamento de arquivos (em vez de simples cópias sem retribuição), em que se dá mais prioridade para download aos clientes que estejam também gerando uploads. Além de melhorar o compartilhamento, são características do BitTorrent: I. Dificultar a identificação de padrões de transferência de arquivos ao misturar fluxos em várias direções. II. Reduzir a possibilidade de se perder a conexão com o cliente. III. Reduzir a quantidade de peers necessários no sistema. IV. Fazer melhor uso da banda de passagem. Dessas afirmativas são verdadeiras: Somente II, III e IV Somente I, III e IV Todas as alternativas Somente II e III Somente I, II e III 9a Questão (Ref.: 201307387167) Pontos: 0,0 / 1,0 A figura apresenta uma típica arquitetura de 3 camadas utilizada para disponibilizar sites na Internet. Sobre essa arquitetura, são feitas as afirmativas abaixo. I - Drivers que seguem o padrão ODBC podem ser utilizados por aplicações que estão no servidor de aplicações para acessar tabelas no servidor de bando de dados. II - Se o nível de processamento aumentar, um novo servidor de aplicações pode ser colocado em uma estrutura de cluster para responder aos pedidos do servidor Web e, nesse caso, a replicação de sessão, presente em alguns servidores de aplicação, garante que um servidor assuma as funções de um servidor com problemas, sem que o usuário perceba o ocorrido. III - Como uma boa prática na implementação de soluções distribuídas, a lógica de negócio é implementada em componentes que ficam instalados no servidor Web, sendo que o servidor de aplicações funciona como intermediário entre o servidor web e o de banco de dados gerenciando as transações. Está(ão) correta(s) a(s) afirmativa(s) I e II, apenas. II, apenas. I, II e III. III, apenas. I, apenas. 10a Questão (Ref.: 201307341337) Pontos: 0,5 / 0,5 Assinale abaixo a frase que melhor explica o conceito da "Classificação de Flynn" Classifica os sistemas EXCLUSIVAMENTE pelo tipo de memoria utilizada, centralizada, ou distribuída. Classifica os sistemas de acordo com sua capacidade de processamento e como os processadores se comunicam com a memória. Classifica os sistemas de acordo com a forma de comunicação entre os processadores., ou seja suas instruções Classifica os sistemas baseados no desempenho Classifica os sistemas de acordo com a forma como acontecemos fluxos de dados e os fluxos de instrução Período de não visualização da prova: desde 09/06/2014 até 25/06/2014. Avaliação: CCT0227_AV2_201307260683 » ARQUITETURA DE SISTEMAS DISTRIBUIDOS Tipo de Avaliação: AV2 Aluno: 201307260683 - JÚLIO FEITOZA NUNES Professor: MAURO CESAR CANTARINO GIL Turma: 9001/A Nota da Prova: 4,5 de 8,0 Nota do Trab.: 0 Nota de Partic.: 2 Data: 18/06/2014 21:11:07 1a Questão (Ref.: 201307445046) Pontos: 1,5 / 1,5 Michael J. Flynn propôs a taxonomia de Flynn em 1966, um primeiro esquema para classificar computadores em configurações de paralelismo crescente. O esquema consiste em quatro categorias. Quais são essas categorias e qual é o significado de cada uma dessas classes? Resposta: SISD - Uma instrução um dado SIMD - Uma instrução multiplos dados MISD - Mutiplas instruções um Dado MIMD - Multiplas instruções e multiplos dados Gabarito: SISD - Computadores de fluxo único de instruções, fluxo único de dados (Single-Instruction-Stream, Single-Data-Stream) são o tipo mais simples. São os monoprocessadores tradicionais nos quais um único processador busca uma instrução por vez e a executa sobre um único item de dado. MISD - Computadores de fluxo múltiplo de instruções, fluxo único de dados (Multiple-Instruction-Stream, Single-Data-Stream) não são usados. Uma arquitetura MISD teria várias unidades de processamento que agiriam sobre um fluxo único de dados. Cada unidade executaria uma instrução diferente nos dados e passaria o resultado para a próxima unidade. SIMD - Computadores de fluxo único de instruções, fluxo múltiplo de dados (Single-Instruction- Stream, Multiple-Data-Stream ) emitem instruções que agem sobre vários itens de dados. Um computador SIMD consiste em uma ou mais unidades de processamento MIMD - Computadores de fluxo múltiplo de instruções, fluxo múltiplo de dados (Multiple-Instruction-Stream, Multiple-Data-Stream) são multiprocessadores nos quais as unidades processadoras são completamente independentes e operam sobre fluxos de instruções separados. 2a Questão (Ref.: 201307387334) Pontos: 1,5 / 1,5 Quais as funções do módulo stub do cliente em uma RPC? Resposta: Serve para pegar a mensagem da aplicação e enviar para o servidor, até chegar do outro lado e ser desempacotada e entregue novamente para aplicação. Ele faz controle de do fluxo. Gabarito: Transformar a chamada de função em mensagem e envia-la ao servidor. Transforma a mensagem de retorno em retorno de função. 3a Questão (Ref.: 201307380440) Pontos: 0,0 / 0,5 Considere uma aplicação que atua como servidor de arquivos. É função deste servidor permitir a leitura e escrtita de arquivos em um disco da rede, transferência de arquivos para diferentes midias (pen-drive, cd...) além de fornecer uma lista com o conteúdo de um diretório. As operações são solicitadas por processos cliente. Devemos utilizar servidores iterativos ou concorrentes? Assinale a resposta que justifica corretamente a escolha feita. Iterativo, pois o tempo de resposta é previsivel. Não podemos afirmar pois depende do tempo de resposta de cada solicitação. Concorrente, pois não podemos prever o tempo de resposta de cada solicitação. Concorrente, pois cada cliente pode fazer uma unica requisição. Iterativo, pois somente um cliente pode fazer uma requisição de cada vez. 4a Questão (Ref.: 201307387224) Pontos: 0,5 / 0,5 Qual das opções abaixo apresenta somente serviços de middleware? Mecanismos de chamada de procedimento remoto (RPC); comunicação pelo uso de soquetes; mecanismos de comunicação através da linguagem SQL. Mecanismos de comunicação através da linguagem SQL; facilidades de uso de múltiplos processadores; mecanismos de chamada de procedimento remoto (RPC). Mecanismos de chamada de procedimento remoto (RPC); facilidades de uso de múltiplos processadores; compartilhamento de memória entre processos. Compartilhamento de memória entre processos; facilidades de uso de múltiplos processadores; comunicação pelo uso de soquetes. Mecanismos de comunicação através da linguagem SQL; compartilhamento de memória entre processos; comunicação pelo uso de soquetes. 5a Questão (Ref.: 201307536449) Pontos: 0,0 / 0,5 Analise as seguintes afirmativas concernentes a questões de projeto de sistemas distribuídos. I. Um sistema distribuído tolerante a falhas deve continuar operando na presença de problemas, podendo ocorrer uma degradação tanto no seu desempenho, como nas suas funcionalidades. II. No que diz respeito aescalabilidade,oproje→deumsistemadistribuídodevepreverqueademandanosserviçosemqualquerdosequipamen→ssejalimitadaporumaconstantedependentedonúmerodenodosenvolvidos. III. Em um sistema distribuído transparente quanto à concorrência, a informação de quantos usuários estão empregando determinado serviço deve ser omitida. A análise permite concluir que: Somente a afirmativa I está incorreta. Somente a afirmativa II está incorreta. Somente as afirmativas I e III estão incorretas. As afirmativas I, II e III estão incorretas. Somente a afirmativa III está incorreta. 6a Questão (Ref.: 201307341334) Pontos: 0,5 / 0,5 São componentes indispensáveis dos sistemas distribuídos, EXCETO: Troca de informações entre os participantes do sistema Conectividade entre os nós utilizando servidores. Rede de comunicação Centralizador do processamento. Porcessadores individuais participantes do sistema 7a Questão (Ref.: 201307387199) Pontos: 0,0 / 0,5 Em sistemas distribuídos, clusterização é o nome que se dá ao processo de interconexão de múltiplas máquinas com o objetivo de obter um aumento de disponibilidade, desempenho ou capacidade total de um sistema. Em relação à clusterização é correto afirmar: A execução do failback de um serviço não exige que as duas máquinas envolvidas possuam recursos equivalentes. A principal diferença entre clusters assimétricos e simétricos é que no cluster simétrico há a figura de um servidor inativo aguardando uma falha de outro. Failover é o processo de retorno de um determinado serviço de uma outra máquina para sua máquina de origem. Failback é o processo no qual uma máquina assume os serviços de outra quando esta apresenta alguma falha. Dependendo da natureza do serviço, executar uma operação de failover significa interromper as transações em andamento, perdendo-as, sendo necessário reiniciá-las após o término do processo 8a Questão (Ref.: 201307520444) Pontos: 0,0 / 1,0 Sistemas peer-to-peer são uma aplicação de sistemas distribuídos, em que usuários compartilham (transferem) arquivos remotos de forma bastante transparente. Um desses sistemas é o BitTorrent, que faz uso de computadores distribuídos na internet para troca de arquivos. Em particular, este faz uso de uma política chamada tit-for-tat para incentivar o compartilhamento de arquivos (em vez de simples cópias sem retribuição), em que se dá mais prioridade para download aos clientes que estejam também gerando uploads. Além de melhorar o compartilhamento, são características do BitTorrent: I. Dificultar a identificação de padrões de transferência de arquivos ao misturar fluxos em várias direções. II. Reduzir a possibilidade de se perder a conexão com o cliente. III. Reduzir a quantidade de peers necessários no sistema. IV. Fazer melhor uso da banda de passagem. Dessas afirmativas são verdadeiras: Somente II, III e IV Somente I, III e IV Todas as alternativas Somente II e III Somente I, II e III 9a Questão (Ref.: 201307387167) Pontos: 0,0 / 1,0 A figura apresenta uma típica arquitetura de 3 camadas utilizada para disponibilizar sites na Internet. Sobre essa arquitetura, são feitas as afirmativas abaixo. I - Drivers que seguem o padrão ODBC podem ser utilizados por aplicações que estão no servidor de aplicações para acessar tabelas no servidorde bando de dados. II - Se o nível de processamento aumentar, um novo servidor de aplicações pode ser colocado em uma estrutura de cluster para responder aos pedidos do servidor Web e, nesse caso, a replicação de sessão, presente em alguns servidores de aplicação, garante que um servidor assuma as funções de um servidor com problemas, sem que o usuário perceba o ocorrido. III - Como uma boa prática na implementação de soluções distribuídas, a lógica de negócio é implementada em componentes que ficam instalados no servidor Web, sendo que o servidor de aplicações funciona como intermediário entre o servidor web e o de banco de dados gerenciando as transações. Está(ão) correta(s) a(s) afirmativa(s) I e II, apenas. II, apenas. I, II e III. III, apenas. I, apenas. 10a Questão (Ref.: 201307341337) Pontos: 0,5 / 0,5 Assinale abaixo a frase que melhor explica o conceito da "Classificação de Flynn" Classifica os sistemas EXCLUSIVAMENTE pelo tipo de memoria utilizada, centralizada, ou distribuída. Classifica os sistemas de acordo com sua capacidade de processamento e como os processadores se comunicam com a memória. Classifica os sistemas de acordo com a forma de comunicação entre os processadores., ou seja suas instruções Classifica os sistemas baseados no desempenho Classifica os sistemas de acordo com a forma como acontecem os fluxos de dados e os fluxos de instrução Período de não visualização da prova: desde 09/06/2014 até 25/06/2014. 26/11/12 Estácio 1/4bquestoes.estacio.br/entrada.asp?p0=233165790&p1=201001141113&p2=1085196&p3=CCT0180… Avaliação: CCT0180_AV2_201001141113 » ARQUITETURA DE SISTEMAS DISTRIBUIDOS Tipo de Avaliação: AV2 Aluno: 201001141113 - ALYSSON DE ALMEIDA Professor: MAURO CESAR CANTARINO GIL Turma: 9001/AA Nota da Prova: 7,5 de 8,0 Nota do Trabalho: Nota de Participação: 2 Data: 19/11/2012 1a Questão (Cód.: 100583) Pontos: 1,5 / 1,5 Quais as funções do módulo stub do cliente em uma RPC? Resposta: Fazer a interação com o runtime system (esconde chamadas de baixo nivel de aplicação). Isolar o programador dos detalhes referentes a comunicação através da rede. 2a Questão (Cód.: 100565) Pontos: 1,5 / 1,5 Podemos considerar que existem 3 grandes desafios da computatção distribuida: - ausência de memória compartilhada - ausência de fonte comum de tempo - ausência de previsão de tempo de resposta no envio/recebimento de mensagens. Descreva os motivos para que sejam considerados um desafio em sistemas distribuídos. Resposta: Ausência de memória compartilhada: Pode ocasionar diferentes velocidades de processamento. Processamento em sistemas computacionais distintos tem maior probabilidade de falhas. Ausência de fonte comum de tempo: Dificuldade em definir a ordem dos eventos e estado global do sistema, uma vez que a comunicação acontece por troca de mensagens. Falta da existencia de um relógio global. Ausência de previsão de tempo de resposta no envio/recebimento de mensagens: A não existêcia de um limite para o tempo de comunicação. Comunicação geralmente não confiável, pois existem atrasos, perdas e, em alguns casos, baixas larguras de banda. 3a Questão (Cód.: 100413) Pontos: 1,0 / 1,0 As redes de computadores possibilitam a programação em duas camadas, por meio das quais computadores de usuários se conectam a computadores servidores de rede para efetuarem requisições de serviços e coleta de informações. Assinale o nome da arquitetura que implementa a programação em duas camadas, utilizando rede de computadores. Middleware Web Dual Layer Cliente-Servidor Distribuída 26/11/12 Estácio 2/4bquestoes.estacio.br/entrada.asp?p0=233165790&p1=201001141113&p2=1085196&p3=CCT0180… 4a Questão (Cód.: 54604) Pontos: 1,0 / 1,0 Assinale abaixo a característica verdadeira dos sistemas fortemente acoplados assimétricos. Qualquer processador pode executar chamadas ao sistema. Existe o conceito de processador Mastar / Slave Qualquer processador pode executar os procedimentos de inicialização Todos os processadores tem acesso aos dispositivos de entrada / Saída Todos os processadores executam as mesmas funções 5a Questão (Cód.: 100488) Pontos: 0,5 / 0,5 Computadores de baixo custo podem ser agrupados em clusters, onde exercem funções que exigem alto desempenho computacional como se fossem uma única máquina de grande porte. É correto afirmar que um cluster Beowulf com o sistema operacional Linux é constituído de vários nós escravos, sendo que cada nó exerce o controle sobre seu nó vizinho e o último nó exercerá o controle sobre o primeiro nó. sem a necessidade de controle. sendo que cada nó exerce o controle sobre todos os demais nós. sendo que cada nó exerce seu próprio controle. controlados por um computador principal. 6a Questão (Cód.: 100452) Pontos: 0,5 / 0,5 Em relação aos sistemas distribuídos, considere I. O protocolo ou canal de comunicação pode ser dotado de um interpretador para compatibilizar a informação que possa não ser entendida por certas máquinas, estendendo dessa forma, a um maior número de computadores no sistema. II. O Middleware é composto por um conjunto de processos ou objetos num grupo de computadores, que interagem entre si de forma a implementar comunicação e oferecer suporte para partilha de recursos a aplicações distribuídas. III. Peer-to-peer pode ser entendido como uma arquitetura de sistemas distribuídos caracterizada pela descentralização das funções na rede, onde cada nodo realiza tanto funções de servidor quanto de cliente. IV. Um sistema distribuído pode ser definido como uma coleção de processadores francamente acoplados, que não compartilham memória nem relógio, interconectados por uma rede de comunicação. É correto o que se afirma APENAS em I e II. III e IV. I, II e III. I e III. II, III e IV. 26/11/12 Estácio 3/4bquestoes.estacio.br/entrada.asp?p0=233165790&p1=201001141113&p2=1085196&p3=CCT0180… 7a Questão (Cód.: 100453) Pontos: 0,5 / 0,5 Um sistema distribuído é definido como uma coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente. Baseado nos conceitos definidos para sistemas distribuídos, identifique a afirmativa ERRADA: Um sistema distribuído fortemente acoplado provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário, onde vários processadores compartilham uma memória, e são gerenciados por apenas um sistema operacional. Uma aplicação cliente-servidor é um caso especial de processamento distribuído no qual existe uma forma de cooperação entre dois ou mais processos, sendo essa cooperação realizada através de requisições dos componentes alocados ao cliente e das respostas que são fornecidas pelos componentes alocados ao servidor. O modelo de computação distribuída Peer-to-Peer é uma tecnologia que estabelece uma espécie de rede virtual de computadores, onde cada estação tem capacidades e responsabilidades equivalentes. Uma vantagem dos sistemas distribuídos sobre os sistemas centralizados é a disponibilidade de software para este tipo de ambiente. Um sistema distribuído fracamente acoplado permite que máquinas e usuários do ambiente sejam fundamentalmente independentes, bem como a interação de forma limitada, quando isto for necessário, compartilhando recursos como discos e impressoras, entre outros. 8a Questão (Cód.: 100449) Pontos: 0,5 / 0,5 Em aplicações distribuídas, dois modelos usados são o cliente/servidor (cliente-server, C/S) e o ponto a ponto (peer-to-peer, P2P). Nesse contexto, analise as afirmações abaixo. I - Assim como no modelo C/S, no modelo P2P, qualquer nó pode iniciar uma conexão com qualquer outro nó. II - Diferente do modelo C/S, o modelo P2P se caracteriza por apresentar a mesma largura
Compartilhar