Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim...

32
Sistemas Distribuidos Prof. Walter Gima 1

Transcript of Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim...

Page 1: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas DistribuidosProf. Walter Gima

1

Page 2: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Apresentação da Disciplina

Disciplina: Sistemas Distribuídos

Carga Horária: 20 horas/aula

Horário: 9:10 Até 22:00

2

Page 3: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Objetivos

Reconhecer os diversos tipos de sistemas distribuídos,

assim como a aplicação dos conceitos na construção de

sistemas que exijam a distribuição de processamento e

dados. Identificar as tecnologias envolvidas nos sistemas

distribuídos.

3

Page 4: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Ementa

Paradigmas de comunicação entre processos.

Ambientes de programação distribuída.

Tolerância às Falhas.

Paradigmas de Sistemas Distribuídos.

Sistemas distribuídos baseados em objetos, em Web e em

coordenação.

4

Page 5: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistema de Avaliação

Aulas

» Aulas expositivas, Exercícios práticos e teóricos de fixação, Estudos em

Grupo

Avaliação

» N1 = PROVA/ATIVIDADE + ATPS

Prova 0-7

ATIVIDADE 0-3

» N2 = PROVA + ATPS

Prova 0-7

ATIVIDADE 0-3

5

Page 6: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Procedimentos/Recomendações em Aula

Lista de Presença: de forma alternada

» Passada para os alunos assinarem

» Chamada

Celulares: deixar em modo vibra call

6

Page 7: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Bibliografia Básica

Livro Texto:

» TANENBAUM, Andrew S; STEEN, Maarten Van.

Sistemas Distribuídos: Princípios e Paradigmas.

2ª ed. São Paulo: Pearson - Prentice Hall, 2008.

» 1) MACHADO, Francis Berenger; MAIA, Luiz Paulo.

Arquitetura de Sistemas Operacionais. 3ª ed. Rio de

Janeiro: LTC – Livros Técnicos e Científicos, 2002.

» 2) COULOURIS, George et al. Sistemas distribuídos :

conceitos e projeto. 4ª ed. São Paulo: Bookman, 2008

» 3) SILBERSCHATZ, Abraham (org.); GALVIN, Peter B.;

GAGNE, Greg et al. Sistemas Operacionais com Java. 7ª

ed. São Paulo: Campus - Elsevier, 2008.

7

Page 8: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Bibliografia Complementar

1) COULOURIS, George Et All; DOLLIMORE, Jean; KINDBERG, Tim. Sistemas Distribuídos:

Conceitos e Projeto. 4ª ed. Porto Alegre: Bookman, 2007.

2) ALBUQUERQUE, F.. TCP/IP Internet: Programação de Sistemas Distribuídos HTML,

JavaScript e Java. 1ª ed. São Paulo: Axcel Books, 2005.

3) JOHNSON, Thienne de M. e S. M.; COUTINHO, Mauro M.. Avaliação de Desempenho de

Sistemas Computacionais. 1ª ed. Rio de Janeiro: Grupo Gen, 2011.

4) MARQUES, José A.; GUEDES, Paulo. Tecnologia de Sistemas Distribuídos. 1ª ed. Lisboa,

Portugal: FCA Editora Informática, 1998.

5) MACHADO, Francis Berenger. Arquitetura de Sistemas Operacionais. 4ª ed. Valinhos:

Anhanguera Publicações, 2007.

8

Page 9: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Porque Estudar ?

• Conhecimento teórico para formar a base conceitual

• Para argumentar, é preciso conhecer!

• Profissional de Nível Superior

• Conhecimento global e ação local

• Pós Graduação

• É preciso evoluir ...

9

Page 10: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Dúvidas ?

[email protected]

10

Page 11: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Introdução Sistemas Distribuídos

11

Page 12: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Introdução Sistemas Distribuídos

Agenda

• Introdução

• Objetivos e Metas Sistemas Distribuídos

12

Page 13: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

A partir de meados 1980:

Dois avanços tecnológicos base para sistemas distribuídos:

Criação microprocessadores :

Aumento de capacidade de processamento (8bits – 64 bits)

Diminuição preço hardware.

Redes de computadores de alta velocidade:

LANs (Local-area networks) interligando centenas de

computadores transferindo dados em alguns

microssegundos.

WANs(wide-area networks) transferindo dados milhões de

maquinas do mundo inteiro.

13

Introdução Sistemas Distribuídos

Page 14: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Definição Sistemas Distribuídos:

14

Introdução Sistemas Distribuídos

“Um sistema distribuído é um conjunto de computadores

independentes que se apresenta a seus usuários como

um sistema único e coerente.”Tanembaum

Page 15: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Middleware

15

Introdução Sistemas Distribuídos

Page 16: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Middleware

16

Introdução Sistemas Distribuídos

ESCONDER

HETEROGENEIDADE

Page 17: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Exemplo de Tecnologias Middleware

- CORBA

- COM (Microsoft)

- WebServices

- XML

- JSON

17

Introdução Sistemas Distribuídos

Page 18: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Compartilhamento

• Hardware: Disco, impressora, memória.

• Arquivos, base de dados, programas, vídeos e áudios,

dados em geral.

• Otimização dos recursos.

• Economia (custo/benefício).

18

Introdução Sistemas Distribuídos

Page 19: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

1ª Meta – Acessos a Recursos

Vantagens:

• Economia (Grosh’s Law): 2 * custo = 4 * benefícios.

• A lei de Grosh diz que o processamento de trabalho de um

computador é proporcional ao quadrado de seu custo.

• CSCW: Computer supported cooperative work.

• Expansão: Aumento da capacidade de processamento e

armazenamento.

• Compartilhamento: Dados/informações/recursos.

• Desenvolvimento: Softwares distribuídos.

19

Introdução Sistemas Distribuídos

Page 20: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

2ª Meta – Segurança

Vantagens:

• Centralização das defesas de segurança

• Descentralização das informações

• Tipos de Ataque de Segurança

• Backdoor

• Ping of death

• Port Scanning

• Vírus/Worms

20

Introdução Sistemas Distribuídos

Page 21: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

2ª Meta – Segurança

Desvantagens:

• Segurança: Mais difícil a garantia.

• Software: Desenvolvimento mais complexo, custo mais alto na

implementação e poucos softwares disponíveis.

• Rede: Aumento de desempenho, disponibilidade, infraestrutura mais

complexa para garantir a SLA.

21

Introdução Sistemas Distribuídos

Page 22: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

3ª Meta – Transparência

• Acesso: Ocultar a diferença na representação de dados e no modo

de acesso a um recurso.

22

Introdução Sistemas Distribuídos

Page 23: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

3ª Meta – Transparência

• Localização: Ocultar o lugar onde o recurso está localizado.

23

Introdução Sistemas Distribuídos

Page 24: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

3ª Meta – Transparência

• Migração: Ocultar que o recurso pode ser movido para outra

localização.

24

Introdução Sistemas Distribuídos

Page 25: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

3ª Meta – Transparência

• Realocação: Ocultar que um recurso é movido para outra localização

enquanto em uso

25

Introdução Sistemas Distribuídos

Page 26: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

3ª Meta – Transparência

• Replicação: Ocultar que o recurso é replicado

26

Introdução Sistemas Distribuídos

Page 27: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

3ª Meta – Transparência

• Falha: Ocultar a falha e recuperação de um recurso.

27

Introdução Sistemas Distribuídos

Page 28: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

3ª Meta – Transparência

• Concorrência: Ocultar que o recurso pode ser compartilhado por

diversos usuários concorrentes.

28

Introdução Sistemas Distribuídos

Page 29: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Sistemas Distribuídos - Metas

4ª Meta – Abertura

• Interoperabilidade

• Portabilidade

• Escalabilidade

29

Introdução Sistemas Distribuídos

Page 30: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Exercícios

1) Descreva a importância da escalabilidade em Sistemas Distribuídos.

2) Quais são os principais desafios encontrados em Sistemas

Distribuídos?

3) O que é middleware dentro do contexto de Sistemas Distribuídos?

4) Descreva três tecnologias utilizadas para middleware.

5) Faça uma pesquisa descrevendo um exemplo de arquitetura onde há

integração de sistema desktop, um sistema Web (e-Commerce) e um

aplicativo para dispositivos móveis.

30

Introdução Sistemas Distribuídos

Page 31: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

• Tanenbaum, Andrew S; Steen, Maarten Van. Sistemas Distribuídos:

Princípios e Paradigmas, 2ª ed. São Paulo: Pearson – Prentice Hall,

2007.

• Coulouris, George. Sistemas Distribuídos: Conceitos e Projetos, 4ª

ed. Rio de Janeiro: Bookman, 2007.

31

Referências Bibliográficas

Page 32: Sistemas Distribuidos · Objetivos Reconhecer os diversos tipos de sistemas distribuídos, assim como a aplicação dos conceitos na construção de ... • Tanenbaum, Andrew S; Steen,

Dúvidas ?

[email protected]

32