Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS DISTRIBUÍDOS INSTITUTO SUPERIOR POLITÉCNICO DE KANGONJO ENGENHARIA INFORMÁTICA IIIº ANO NOITE ENG. PEDRO JOÃO “Um sistema no qual componentes de software ou hardware localizados em computadores interconectados por rede comunicam e coordenam suas acções através da troca de mensagens” [Coulouris]. CONCEITO DE SISTEMAS DISTRIBUÍDOS 1º Definição “Coleção de computadores independentes, que cooperam para resolver uma tarefa, mas aparecem como um único computador para os usuários do sistema” ou seja, coleção de computadores autônomos conectados por uma rede de comunicação que é percebida pelos usuários como um único computador que regula um serviço ou resolve um problema. (Tanenbaum & Steen, 2002) 2º Definição Coleção de computadores autônomos, interligados por uma rede de comunicação e equipados com um sistema operacional distribuído, que permitem o compartilhamento transparente de recursos existentes no sistema. 3º Definição EVOLUÇÃO HISTÓRICA 1960 Sistema multi-usuário de tempo compartilhado Redes de computadores Sistemas centralizados 1970 Estações de trabalho mono-usuário: SUN, XEROX e Apple Redes locais: Ethernet (XEROX), Cambridge Ring Sistema Operacional UNIX: 1974 Sistema UNIX BSD Primeiros sistemas distribuídos experimentais 1980 Microprocessadores com alto poder computacional Redes Locais de maior velocidade O protocolo TCP/IP torna-se um padrão de facto Sistemas Distribuídos: V-System, Amoeba, Sun NFS, March, Sprite, Chorus, Andrew File System 1990 2000 Disponibilidade e facilidade de comunicação Internet Serviços Distribuídos CONCEITOS DE HARDWARE & SOFTWARE - Hardware Máquinas autônomas; Componentes de Hardware; Dispositivos de Entrada; Saída e Misto; Protecção ou Segurança de Hardware. - Software Tipos de Sistemas; Abstração, encapsulamento de detalhes; Visão do usuário: única máquina (computador); Estruturas de Armazenamento. SEGURANÇA Segurança na comunicação é necessária, a representação digital da informação facilita a criptografia e envolve: “selar” informações importantes enviadas através da rede (ex. criptografia de número de cartão de crédito) Identidade: garantir a autenticidade da fonte. Ex. um médico deseja acessar dados de pacientes de forma remota. É preciso assegurar que o usuário é realmente o médico. Ex. um usuário deseja comprar um livro pela Internet. É preciso. Assegurar a identidade da loja virtual - que realmente é uma loja e não vai fazer mal uso do cartão. Problemas: Indisponibilidade de serviço devido a ataques. Segurança de código móvel (ex. anexados a emails, applets) - Acoplamento Grau de dependência entre os diversos componentes do sistema. Também define como o usuário vê o sistema. - Fortemente Acoplados Os diversos processadores cooperam na execução de uma tarefa (processamento paralelo). - Fracamente Acoplados Máquinas independentes, com sua própria memória, HD, processador que se comunicam quando necessário. CONCEITOS DE ACOPLAMENTO SISTEMA TIMESHARING MULTIPROCESSADORES - Software Fortemente Acoplado; - Hardware Fortemente Acoplado; - Máquinas voltadas para propósitos específicos, como bases de dados dedicadas e processamento de imagens; - Todo o projeto pode ser centralizado => visão de um único processador. - Existência de uma única fila de espera (processos que não estão bloqueados e prontos para execução); - Memória compartilhada por todos os processadores; - Único sistema de arquivos; SISTEMA OPERACIONAL DE REDE - Software Fracamente Acoplado - Hardware Fracamente Acoplado - Rede de Estações de Trabalho conectadas por uma LAN Cada estação de trabalho pode ter ou não disco rígido Cada estação de trabalho tem o seu próprio sistema operacional Todos os comandos são normalmente executados localmente Eventualmente é possível fazer uma conexão remota com outra estação de trabalho - Forma mais conveniente de comunicação e compartilhamento de informação: Sistema de Arquivo Global Compartilhado (NFS) Implementado em uma ou mais máquinas chamadas Servidores de Arquivos Servidores de Arquivos aceitam requisições de programa de usuários (chamados clientes) EXEMPLOS DE SISTEMAS DISTRIBUÍDOS EXEMPLOS DE SISTEMAS DISTRIBUÍDOS EXEMPLOS DE SISTEMAS DISTRIBUÍDOS EXERCÍCIOS DE REDES Aplicações Comerciais - Sistemas de reserva e venda de passagens aéreas Complexidade - Sistemas de caixas eletrônicos de bancos - Transporte Roteamento e distribuição Aplicações WEB - Correio eletrônico - Serviços bancários e comércio eletrônico Aplicações de Multimídia - Aprendizado por computador - Vídeo-conferência - Projetos cooperativos - Jogos CLUSTERS OU AGRUPAMENTOS Máquinas conectadas por rede de alta velocidade; Necessidade de alto desempenho computacional; Evitar custo de máquinas de alto desempenho; Objetivo: compartilhar recursos computacionais. De processamento De armazenamento De memória Outros CLUSTERS SÃO UTILIZADOS PARA... Aumentar a disponibilidade de serviço. se um nodo falha, outro assume. Equilibrar carga de trabalho. um ou mais computadores do cluster actuam como distribuidores da carga entre os demais. Alto desempenho. Para resolver tarefas complexas que podem ser decompostas em sub-tarefas, cada uma rodando num nodo do cluster. Implementação mais comum: LINUX e software livre para implementar conformidade. - GRID ou GRADE = as máquinas encontram-se distantes geograficamente. - É uma cooperativa de máquinas. - não pertencem necessariamente a mesma organização; - são ditas organizações virtuais; - não há administração central dos recursos computacionais; - Utilização de protocolos/padrões abertos. VANTAGENS DE UM SISTEMA DISTRIBUÍDO. Compartilhamento de dados: base de dados comum; Compartilhamento de dispositivos: acesso compartilhado a periféricos; Comunicação: torna-se mais simples e mais rápida a comunicação entre pessoas. Além disso, é possível: transferência de arquivos entre nós, login remoto, etc; Flexibilidade: dividir a carga de trabalho entre os nós da rede; Confiabilidade: se um nó falha os demais poderão continuar operando; Velocidade de computação: maior poder computacional obtido através de concorrência. Há a possibilidade de distribuir uma computação particionada a vários nós para executarem concorrentemente; Performance a baixo custo: preço baixo dos PCs; Escalabilidade: aumentar o número de nós. DESVANTAGENS DE UM SISTEMA DISTRIBUÍDO. Software Falta de experiência Mudança de Paradigma Conhecimento sobre a distribuição Quanto deve ser feito pelo sistema e quanto pelo usuário? Rede Perda de mensagens Sobrecarga na comunicação Dimensionamento da rede Vulnerabilidade das redes Segurança Autenticação, credenciais, bloqueios ABERTOS O grau de abertura de um SD depende de: - Facilidade de adicionar novos recursos; - De hardware; - De software: novos serviços ou re-implementação de antigos. SD abertos baseiam-se em: - Mecanismos de comunicação uniformes; - Especificados por organismos; - Publicação de interfaces de serviços: para esconder a semelhança de implementação dos serviços, as implementações devem aderir a uma forma de publicar as interfaces dos serviços. BIBLIOGRAFIA - Andrew S. Tanembaum, Sistemas Distribuídos, Princípios e Paradigmas 2a edição, 2008 - Andrew S. Tanenbaum, Distributed Operating Systems. Prentice-Hall, 1995 - Andrew S. Tanenbaum, Distributed Systems: Principles and Paradigms. Prentice Hall, 2002 - George Coulouris, Jean Dollimore, Tim Kindberg, Distributed Systems - Concepts and Design, 3rd Ed., AddisonWesley, September 2001
Compartilhar