Issuu on Google+

Bibliografia Sistemas Distribuídos

„

„

Hermes Senger Aula 01

Tanenbaum, A.S. and Steen, M.V.: Distributed Systems: principles and paradigms. Prentice Hall, 2002 Emmerich, W.: Engineering Distributed Objects. John Wiley & Sons, 2000.

2

Conteúdo programático „ „ „ „

Evolução histórica (1)

Introdução a sistemas distribuídos Elementos de um sistema distribuído Modelo cliente-servidor Arquiteturas de sistemas distribuídos

„

Sistemas centralizados (mainframes) „

„

3

tipicamente formado por uma unidade de processamento (CPU), memória, periféricos e terminais de acesso. tecnologia dominante até a metade dos anos 80

4


Evolução histórica (2) „

Evolução histórica (3)

A partir de meados da década de 80 um número de acontecimentos contribuíram para a popularização das redes de computadores e o desenvolvimento de sistemas distribuídos, entre eles:

„ „ „ „

barateamento dos custos de comunicação necessidade de compartilhar recursos processos de padronização eficientes popularização da Internet (WWW)

surgimento de computadores pessoais „ aumento na capacidade de processamento

„

Rede B

Rede A 5

6

Exemplo SD (1) „

Exemplo SD (2)

Governo eletrônico

„

Sistema de vídeo sob demanda

Vídeo locadora

Servidor de vídeo

¡

¡ Internet

b ¡ Cliente1 7

b ¡ Cliente2

b ¡ Clienten 8


Exemplo SD (3) „

Infraestrutura de TI de um banco Central de processamento

Agência bancária

b ¡ Funcionário Casa/Trabalho

Internet

b ¡ Cliente

Outros exemplos???

Terminal 24h

b ¡ Cliente

9

10

Definição SD (1) „

O que é um sistema distribuído?

Sistema distribuído (Tanenbaum) „

„

Sistema distribuído (Emmerich) „

11

coleção de computadores independentes que aparentam ser um único sistema coerente para seus usuários um sistema distribuído é formado por componentes em máquinas de uma rede que interagem através de um middleware de forma a aparentar como uma facilidade integrada 12


Definição SD (2) „

„

Sistema „

„

Elementos de um SD Computador hospedeiro (host) „

um sistema é um conjunto integrado de entidades funcionais interagentes e interdependentes

„

Sistema distribuído (SD) „

um sistema distribuído é um sistema cujas entidades funcionais são executadas em diferentes computadores de uma rede de forma transparente para seus usuários

EF1

EFn

Sistema Operacional Hardware Hospedeiro

13

Interação entre entidades funcionais (1) „

computador de uma rede que hospeda uma ou mais entidades funcionais de um SD inclui todos os elementos operacionais, tais como hardware, sistema operacional, etc.

14

Interação entre entidades funcionais (2)

As diferentes entidades funcionais de um SD precisam interagir umas com as outras, i.e., precisam acessar os serviços umas das outras a fim de prover um serviço integrado a seus usuários.

„

Entidades funcionais podem interagir usando os recursos de rede do sistema operacional problema: baixo nível de abstração provido por esses recursos, o que torna este processo muito complexo para a maioria das aplicações ⇒ solução: adoção de um middleware ⇒

EF2 EF1

EF3

15

16


Definição Middleware (1) „

Middleware (Tanenbaum) „

O que é um middleware?

camada de software situado entre aplicações e o sistema operacional de rede que oferece um grau maior de abstração

17

Definição Middleware (2) „

Definição Middleware (3)

Middleware (Emmerich) „

„

camada entre o sistema operacional de rede e a aplicação que procura solucionar problemas de heterogeneidade e distribuição EF1

EFn

EF1

EFn

Middleware

Middleware

Sistema Operacional

Sistema Operacional

Hardware Hospedeiro1

Rede

18

Middleware é uma camada de software situada entre as camadas de rede (SO) e aplicação que provê um conjunto de facilidades (serviços) para o desenvolvimento de sistemas distribuídos

Hardware Hospedeiro2

19

20


Sistemas operacionais distribuídos (1)

Sistemas operacionais distribuídos (2) „

Máquinas contém kernel para a gerência local dos recursos „ „

„

Não há mecanismos de memória compartilhada „

„

21

Sistemas operacionais de rede (1) „

comunicação através de passagem de mensagens

SO como máquina virtual que suporta e execução paralela e concorrente de várias tarefas

22

Sistemas operacionais de rede (2)

Máquinas e sistemas operacionais heterogêneos „

„

e.g.: memória, CPU, disco, etc em geral, hardware é homogêneo

conexão através de rede (serviços de rede)

SO que permite a execução local de serviços por parte de clientes remotos „

exemplos de serviços incluem remote login, remote copy, etc 23

24


Modelo cliente-servidor (1) „

Modelo cliente-servidor (2)

Um SD é estruturado em termos de um conjunto de entidades funcionais interagentes e interdependentes

„

Ambiente Sistema

„

Cada entidade funcional de um SD provê uma dada funcionalidade (serviço) que pode ser acessada por outra entidade funcional do SD ou usuários do SD como um todo Dois papéis: „

cliente e servidor

25

Modelo cliente-servidor (3) „

„

„

Modelo cliente-servidor (4)

Entidade cliente „

26

„

entidade que solicita a execução de um dado serviço a outra entidade e.g., processo cliente, objeto cliente, etc.

Papéis não são exclusivos, i.e., uma mesma entidade pode atuar tanto como cliente quanto servidor

Entidade servidora „

„

entidade que recebe solicitações de execução de serviço por parte de entidades cliente e.g., processo servidor, objeto servidor

27

cliente

servidor

servidor

cliente

28


Níveis de funcionalidade (1) „

Níveis de funcionalidade (2)

Diferentes níveis de funcionalidade (também chamados de tiers) podem ser identificados em um SD: „ „ „

„

Nível de interface „

nível de interface nível de processamento nível de dados

„

provê a interface (gráfica) com os usuários do sistema normalmente implementado em máquinas cliente (máquinas do usuário)

29

Níveis de funcionalidade (3) „

Níveis de funcionalidade (4)

Nível de processamento „ „

30

„

provê a funcionalidade básica do sistema pode tanto ser implementado em máquinas clientes (máquinas do usuário) ou em máquinas servidoras

31

Nível de dados „

„

provê a manipulação das informações que são mantidas de forma persistente normalmente implementado em máquinas servidoras

32


Níveis de funcionalidade (5) „

Níveis de funcionalidade (6)

Exemplo: mecanismo de busca

33

34


Teste