Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Unidade I: Fundamentos de Sistemas Distribuídos 7 FACOM – Faculdade de Computação (Campus I - Marabá) Sistemas Distribuídos Definição Um sistema distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente [TANENBAUM, 2007]. Um sistema distribuído é aquele no qual os componentes de hardware ou software, localizados em computadores interligados em rede, se comunicam e coordenam suas ações apenas enviando mensagens entre si [COULOURIS, 2007]. 10 Definição Sistemas distribuídos costumam ser organizados por meio de: Camada de Nível Alto; Camada de Software; Camada Subjacente. 11 Características Concorrência: em uma rede de computadores, a execução concorrente de programas é a norma. Inexistência de relógio global: quando os programas precisam cooperar, eles coordenam suas ações trocando mensagens. Falhas independentes: todos os sistemas de computador podem falhar e é responsabilidade dos projetistas de sistema pensar nas consequências das possíveis falhas. 12 Exemplos INTERNET 13 intranet ISP backbone Enlace de satelite Computador Desktop: Servidor: Enlace de rede: Exemplos INTERNET A Internet é um conjunto de redesde computadores, de muitostipos diferentes, interligadas. A Internet é um sistema distribuído muito grande. Ela permite que os usuários, onde quer que estejam, façam uso de serviços como a World Wide Web, e-mail e transferência de arquivos 14 Exemplos INTRANET Outras porções da Internet Servidor Web Computadores Desktop Servidor de e-mail Servidor de Arquivo Roteador/firewall Servidores de Impressão Impressão Outros servidores 15 Rede Local Servidor de e-mail Exemplos COMPUTAÇÃO MÓVEL E UBÍQUA 16 Impressora Câmera Internet Intranet anfitriã Intranet doméstica Rede local sem fio gateway Telefone móvel Laptop Site anfitrião Exemplos Computação Móvel e Ubíqua Computação Móvel é a execução de tarefas de computação, enquanto o usuário está se deslocando de um lugar a outro ou visitando lugares diferentes de seu ambiente usual. Computação Ubíqua é a utilização de vários dispositivos computacionais pequenos e baratos, que estão presentes nos ambientes físicos dos usuários. 17 Exemplos COMPUTAÇÃO EM NUVEM 18 Compartilhamento de Recursos e a Web Compartilhamos recursos de hardware (como impressoras), recursos de dados (como arquivos) e recursos com funcionalidade mais específica (como os mecanismos de busca). O termo serviço é usado para designar uma parte distinta de um sistema de computador que gerencia um conjunto de recursos relacionados e apresenta sua funcionalidade para usuários e aplicativos. 19 Compartilhamento de Recursos e a Web A World Wide Web (WWW) é um sistema em evolução para a publicação e para o acesso a recursos e serviços pela Internet. A web é um sistema aberto: ela pode ser ampliada e implementada de novas maneiras, sem perturbar a funcionalidade existente. A web é aberta no que diz respeito aos tipos de recursos que nela podem ser publicados e compartilhados. 20 Compartilhamento de Recursos e a Web A web é baseada em três componentes tecnológicos padrão principais: HTML (HyperText Markup Language) que é uma linguagem para especificar o conteúdo e o leiaute de páginas de forma que elas possam ser exibidas pelos navegadores web. URLs (Uniform Resource Locators), que identificam os documentos e outros recursos armazenados como parte da web. Uma arquitetura de sistema cliente-servidor, com regras padrão para interação (o protocolo HTTP – HyperText Transfer Protocol), por meio das quais os navegadores e outros clientes buscam documentos e outros recursos dos servidores web. 21 Compartilhamento de Recursos e a Web 22 Internet Navegadores Servidores Web www.google.com www.ufpa.br Protocolos faq.html http://www.w3.org/standards/faq.html#conformance http://www.google.comlsearch?q=obama http://www.ufpa.br/ www.w3c.org Sistema de arquivos de www.w3c.org Desafios Heterogeneidade A heterogeneidade (isto é, variedade e diferença) se aplica aos seguintes aspectos: redes hardware de computador sistemas operacionais linguagens de programação implementações de diferentes desenvolvedores 23 Desafios Heterogeneidade Middleware: Camada de Software que fornece uma abstração assim como o de programação, da heterogeneidade das redes, mascaramento hardware e etc. Ex: CORBA Heterogeneidade e migração de código: termo usadopara se referir aocódigoquepode ser enviadode um computadorparaoutro e ser executado no destino. Ex: Applets Java 24 Desafios Sistemas Abertos Caracterizados pelo fato de suas principais interfaces serem publicadas; Os sistemas distribuídos abertos são baseados na estipulação de um mecanismo de comunicação uniforme e em interfaces publicadas para acessos aos recursos compartilhados; (RFCs) distribuídos abertos podem ser partir de hardware possivelmente de e software diferentes Os sistemas construídos a heterogêneo, fornecedores. 25 Desafios Segurança Trata da segurança dos recursos de informação que se tornam disponíveis e são mantidos em sistemas distribuídos e que têm um alto valor intrínseco para seus usuários. Pilares da Segurança da Informação Confidencialidade Integridade Disponibilidade Problemas ainda em discussão Ataque de negação de serviço Segurança de código móvel 26 Desafios Escalabilidade Um sistema é descrito como escalável se permanece eficiente quando há um aumento significativo no número de usuários. Apresenta os seguintes desafios: Controlar o custo dos recursos físicos Controlar a perda de desempenho Impedir que os recursos de software se esgotem Evitar gargalos de desempenho 27 Desafios Tratamento de Falhas Detecção de Falhas Mascaramento de Falhas Ex.: Retransmissão de mensagens. Tolerância a Falhas Ex.: Falha apresentada pelo Navegador Web Recuperação de Falhas Redundância Ex.: Duas Rotas entre dois roteadores, DNS, Banco de Dados Distribuídos. 28 Desafios Concorrência É a possibilidade de que vários clientes tentem acessar um recurso compartilhado ao mesmo tempo. Ex: A estrutura de dados que registre lances de um leilão Para que um objeto mantenha coerência em suas operações um ambiente concorrente, devem ser sincronizadas; Ex: Semáforos 29 Desafios Transparência: o objetivo é tornar certos aspectos da distribuição invisíveis para um usuário final ou para um programador de aplicativos, para que este se preocupe apenas com o projeto de seu aplicativo em particular. 30 Transparência Descrição Acesso Oculta diferençasnarepresentaçãode dadose no modode acesso a umrecurso Localização Ocultaolugaremque umrecurso estálocalizado Migração Ocultaque umrecursopode ser movidopara outralocalização Relocação Ocultaque umrecursopode ser movidoparaumaoutralocalizaçãoenquantoemuso Replicação Ocultaque umrecursoéreplicado Concorrência Ocultaque umrecursopode ser compartilhado pordiversosusuáriosconcorrentes Falha Ocultaafalhae arecuperaçãode umrecurso. Exercícios Cite cinco tipos de recurso de hardware e recursos de dados ou software que possam ser compartilhados com sucesso. Dê exemplos práticos de seu compartilhamento em sistemas distribuídos. Quais são as vantagens e desvantagens das tecnologias básicas HTML, URLs e HTTP para navegação em informações? Alguma dessas tecnologias é conveniente como base para a computação cliente-servidor em geral? 3) Liste os três principais componentes de software que podem falhar quando um processo cliente invocar um método em um objeto servidor. Dê um exemplo de falha para cada caso. Sugira a maneira como os componentes podem ser feitos para tolerar as falhas uns dos outros. 31
Compartilhar