Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho...
-
Upload
luiza-neve -
Category
Documents
-
view
215 -
download
0
Transcript of Sistemas Distribuídos Aula 01 - Introdução Prof. Hélio de Sousa Lima Filho...
Sistemas DistribuídosAula 01 - Introdução
Prof. Hélio de Sousa Lima Filho ([email protected])
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
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
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
1945 à1955: O Início
• Programador tinha que reservar hora para usar o computador!
5Sistemas Distribuídos
1955 à1965: Processamento Batch
• Tarefas eram enfileiradas• Programas em lotes.
6Sistemas Distribuídos
1965 à1980: Timesharing
• Menor tempo da obtenção da resposta de programas!
7Sistemas Distribuídos
A partir de 1980Sistemas Distribuídos
• Comunicação entre maquinas
• Independência maior dos usuários
• Compartilhamento de recursos
8Sistemas Distribuídos
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
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
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
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
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
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
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
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
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
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
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
Computação Móvel e Ubíqua
• Acesso em qualquer lugar a qualquer momento
20Sistemas Distribuídos
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
Computação Móvel e Ubíqua
22Sistemas Distribuídos
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
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
Desafios em SD´s
• Heterogeneidade• Abertura• Segurança• Extensabilidade• Manipulação de falhas• Concorrência e Paralelismo• Transparência
25Sistemas Distribuídos
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Desvantagens dos SD´s
• Sincronização• Falhas• Suporte a escalabilidade• Segurança
– Pode afetar a consistência, desempenho, disponibilidade e etc.
41Sistemas Distribuídos
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