sistemas distribuídos aula 01 - introdução prof. hélio de sousa lima filho...
TRANSCRIPT
![Page 2: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/2.jpg)
Referencial Bibliográfico
• Coulouris, George; Dollimore, Jean e Kindberg, Tim. Sistemas Distribuídos: conceitos e projeto. (Capítulo 01).
• Tanenbaum, Andrew S., Steen, Maarten V.. Sistemas Distribuidos: principios e paradigmas. (Capítulo 01).
2Sistemas Distribuídos
![Page 3: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/3.jpg)
Sumário
1. Definições2. Exemplos de Sistemas e Aplicações
Distribuídas3. Desafios em Sistemas Distribuídos4. Vantagens/Desvantagens de Sistemas
Distribuídos
3Sistemas Distribuídos
![Page 4: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/4.jpg)
Sumário
1. Definições2. Exemplos de Sistemas e Aplicações
Distribuídas3. Desafios em Sistemas Distribuídos4. Vantagens/Desvantagens de Sistemas
Distribuídos
4Sistemas Distribuídos
![Page 5: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/5.jpg)
1945 à1955: O Início
• Programador tinha que reservar hora para usar o computador!
5Sistemas Distribuídos
![Page 6: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/6.jpg)
1955 à1965: Processamento Batch
• Tarefas eram enfileiradas• Programas em lotes.
6Sistemas Distribuídos
![Page 7: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/7.jpg)
1965 à1980: Timesharing
• Menor tempo da obtenção da resposta de programas!
7Sistemas Distribuídos
![Page 8: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/8.jpg)
A partir de 1980Sistemas Distribuídos
• Comunicação entre maquinas
• Independência maior dos usuários
• Compartilhamento de recursos
8Sistemas Distribuídos
![Page 9: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/9.jpg)
Sistemas Distribuídos
• Conceito– “Um sistema distribuído é aquele no qual os
componentes localizados em computadores interligados em rede se comunicam e coordenam suas ações apenas passando mensagens.“[Coulouris, 2005]
9Sistemas Distribuídos
![Page 10: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/10.jpg)
Sistemas Distribuídos
• Conceito– “Um sistema distribuído é um conjunto de
computadores independentes que se apresenta a seus usuários como um sistema unico e coerente.“[Tanenbaum, 2007]
10Sistemas Distribuídos
![Page 11: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/11.jpg)
Sistemas Distribuídos
• Conceito– “Um sistema distribuído são vários
computadores fazendo algo juntos.“[Mulender, 1993]
– “Você sabe que tem um sistema distribuído quando a falha de um computador no qual nunca ouviu falar o impede de fazer qualquer coisa." :) [Mulender, 1993]
11Sistemas Distribuídos
![Page 12: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/12.jpg)
Características de Sistemas Distribuídos
• Conjunto de maquinas autônomas• Interconectadas por canais de
comunicação• Comunicação por troca de mensagens• Ausência de um estado global• Independência de falhas• Ausência de sincronização de relógios• Estado compartilhado da aplicação
12Sistemas Distribuídos
![Page 13: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/13.jpg)
Sumário
1. Definições2. Exemplos de Sistemas e Aplicações
Distribuídas3. Desafios em Sistemas Distribuídos4. Vantagens/Desvantagens de Sistemas
Distribuídos
13Sistemas Distribuídos
![Page 14: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/14.jpg)
Unix Distribuído
• Extensões do modelo unix para suportar:– Comunicação entre processos– Servidores na rede (servidor de arquivos,
impressão e etc.)• Implementações de Unix distribuído:
– SUN OS, SOLARIS– Linux (Debian, Fedora, Kurumin, Pux)
• Vantagens do Unix distribuído:– NFS (Network File System)– NIS (Network Information System)
14Sistemas Distribuídos
![Page 15: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/15.jpg)
Aplicações Comerciais
• Sistema de reserva de passagem aéreas• Sistema de bancos para interconexões
entre agências e terminais• Sistemas para controle de estoque,
vendas e entrega
15Sistemas Distribuídos
![Page 16: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/16.jpg)
Aplicações Comerciais
• Requisitos– Alto grau de confiabilidade– Alto grau de segurança e privacidade de
informações– Suportar concorrência de usuários– Garantir tempo de resposta satisfatório– Suportar massiva distribuição– Suportar extensabilidade– Suportar integração entre sistemas operados por
diferentes organizações
16Sistemas Distribuídos
![Page 17: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/17.jpg)
Internet e Intranet
• Exemplos:– Correio eletrônico– Serviço de news– WWW (World Wide Web)– Transferência de arquivos
• Requisitos:– Alta extensabilidade– Mecanismo de resolução de nomes– Esquema de roteamento e endereçamento– Controle de acesso e segurança
17Sistemas Distribuídos
![Page 18: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/18.jpg)
Computação Móvel e Ubíqua
• Avanços tecnológicos na miniaturização dos dispositivos + rede sem fio– Integração dos dispositivos de
comunicação pequenos e portáveis aos sistemas distribuídos
– Usa informações do ambiente para construir modelos computacionais dinamicamente
18Sistemas Distribuídos
![Page 19: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/19.jpg)
Computação Móvel e Ubíqua
• Computação móvel– Execução de tarefas enquanto o usuário se
movimenta, e se distancia do seu ambiente local
19Sistemas Distribuídos
![Page 20: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/20.jpg)
Computação Móvel e Ubíqua
• Acesso em qualquer lugar a qualquer momento
20Sistemas Distribuídos
![Page 21: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/21.jpg)
Computação Móvel e Ubíqua
• Computação Pervasiva:– Computador embarcado no ambiente de
forma despercebida– Usa informações do ambiente para construir
modelos computacionais dinamicamente• Computação Ubíqua:
– Computação móvel em larga escala + Pervasiva
21Sistemas Distribuídos
![Page 22: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/22.jpg)
Computação Móvel e Ubíqua
22Sistemas Distribuídos
![Page 23: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/23.jpg)
Computação Móvel e Ubíqua
• Requisitos– Suporte transparente à mobilidade– Tratamento de contexto– Otimização de espaço de armazenamento,
largura de banda, uso de energia– Formatação, compressão, entrega e
apresentação de conteúdo adaptável à largura de banda e recursos do dispositivo
23Sistemas Distribuídos
![Page 24: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/24.jpg)
Sumário
1. Definições2. Exemplos de Sistemas e Aplicações
Distribuídas3. Desafios em Sistemas Distribuídos4. Vantagens/Desvantagens de Sistemas
Distribuídos
24Sistemas Distribuídos
![Page 25: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/25.jpg)
Desafios em SD´s
• Heterogeneidade• Abertura• Segurança• Extensabilidade• Manipulação de falhas• Concorrência e Paralelismo• Transparência
25Sistemas Distribuídos
![Page 26: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/26.jpg)
Desafios em SD´s
• Diversas Heterogeneidades– Hardware, Software, Redes, Sistemas
Operacionais, Linguagens, Implementações de diferentes fabricantes.
• Solução– Uso de Protocolos e padrões comuns
• Protocolos da Internet (IP)
26Sistemas Distribuídos
![Page 27: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/27.jpg)
Desafios em SD´s
• Abertura– Capacidade de um sistema poder ser estendido
(em relação a hardware e software) e ser interoperável com outros sistemas
– Abertura resulta da especificação de interfaces, de tornar as especificações publicas e de padronizá-las
– Especificações podem vir a serem • padrões estabelecidos por organizações de
padronização• padrões estabelecidos pelo uso
27Sistemas Distribuídos
![Page 28: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/28.jpg)
Desafios em SD´s
• Abertura– Padronizações existentes:
• Modelo de referência OSI• Padronizações de protocolos (RFCs)
– Acrônimo de Request of Comments– Série evolutiva de relatórios, proposta e padrões de
protocolos que descrevem o funcionamento interno de protocolos da internet
• Modelo de referência TCP/IP– Especificações Java
28Sistemas Distribuídos
![Page 29: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/29.jpg)
Desafios em SD´s
• Abertura– Padronizações Suportam:
• Extensabilidade de hardware: adição de novos computadores ao sistema
• Extensabilidade de software: introdução de novos serviços ou versão nova de um sistema
• Independência de fabricantes
29Sistemas Distribuídos
![Page 30: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/30.jpg)
Desafios em SD´s
• Segurança– Confidencialidade
• Proteção contra acesso indevido
– Integridade• Proteção contra alteração ou corrupção
– Disponibilidade• Proteção contra impedimento de acesso
– Desafios• Transmissão/Armazenamento seguro de informações• Impedimento de acesso
30Sistemas Distribuídos
![Page 31: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/31.jpg)
Desafios em SD´s
• Paralelismo– Processos executam simultaneamente em
processadores diferentes• Concorrência
– Processos executam concorrentemente a um mesmo processador e acessam recursos comuns
31Sistemas Distribuídos
![Page 32: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/32.jpg)
Desafios em SD´s
• Oportunidade de Concorrência e paralelismo em um SD:– Requisições concorrentes para utilização de um
mesmo recurso ou acesso a um mesmo serviço– Servidores executando em mais de uma máquina
podem juntos fornecer um serviço– Execução de uma atividade em paralelo pode
executar em mais de uma máquina do SD.• Interações concorrentes têm que ser
sincronizadas para garantia de consistência do estado da aplicação
32Sistemas Distribuídos
![Page 33: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/33.jpg)
Desafios em SD´s
• Extensabilidade– Reflete a capacidade de um sistema suportar
aumento da escala sem perda de eficiência• Desafios:
– Controlar o custo dos recursos físicos– Controlar perda de desempenho– Evitar gargalos de desempenho– Prevenir escassez de elementos de software:
endereços IP´s
33Sistemas Distribuídos
![Page 34: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/34.jpg)
Desafios em SD´s
• Técnicas para suportar extensabilidade– Replicação de recursos
• Dispositivos, dados, serviços
– Caching• Armazenamento de dados recentes próximo ao uso
– Estruturação dos serviços visando o crescimento incremental
• Hierárquica (DNS), Balanceamento de carga
– Evitar centralização de algoritmos, dados e componentes
34Sistemas Distribuídos
![Page 35: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/35.jpg)
Desafios em SD´s
• Manipulação de Falhas– Ocorrência de falhas
• Produzir resultados incorretos• Causar interrupção de serviços
– Mecanismos devem ser desenvolvidos para se garantir o correto funcionamento do sistema, mesmo na ocorrência de falhas
– Recuperação de falhas– Tolerância a falhas
• Garante a correção e disponibilidade do sistema
35Sistemas Distribuídos
![Page 36: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/36.jpg)
Desafios em SD´s
• Transparência– Abstração de aspectos específicos do
sistema subjacente– Sistema é visto como um todo e não como
uma coleção de partes
36Sistemas Distribuídos
![Page 37: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/37.jpg)
Desafios em SD´s
• Tipos de Transparência– Acesso
• Usuário não distingue entre o acesso local ou remoto– Localização
• Não sabe-se onde o recurso encontra-se– Migração
• Oculta que um recurso pode ser movido para uma outra localização
– Realocação• Oculta que um recurso pode ser movido para uma
outra localização enquanto em uso
37Sistemas Distribuídos
![Page 38: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/38.jpg)
Desafios em SD´s
• Tipos de Transparência– Replicação
• Oculta que um recurso e 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
38Sistemas Distribuídos
![Page 39: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/39.jpg)
Sumário
1. Definições2. Exemplos de Sistemas e Aplicações
Distribuídas3. Desafios em Sistemas Distribuídos4. Vantagens/Desvantagens de Sistemas
Distribuídos
39Sistemas Distribuídos
![Page 40: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/40.jpg)
Vantagens dos SD´s
• Pessoas, sistemas, organizações, dados são inerentemente distribuídos
• Compartilhamento de recursos• Aumento da confiabilidade• Aumento do desempenho• Crescimento incremental• Flexibilidade
40Sistemas Distribuídos
![Page 41: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/41.jpg)
Desvantagens dos SD´s
• Sincronização• Falhas• Suporte a escalabilidade• Segurança
– Pode afetar a consistência, desempenho, disponibilidade e etc.
41Sistemas Distribuídos
![Page 42: Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho (helio.filho@gmail.com)helio.filho@gmail.com](https://reader030.vdocuments.mx/reader030/viewer/2022020311/5706383e1a28abb8238f03d4/html5/thumbnails/42.jpg)
Exercícios
• Dê exemplo de aplicações/sistemas para os seguintes tipos do requisito de transparência:– Acesso, localização, migração, realocação,
replicação, concorrência e falha.
42Sistemas Distribuídos