Você está na página 1de 33

Universidade Federal do Pará

Campus Universitário de
Marabá
Curso de Bacharelado em Sistemas de Informação

Sistemas Distribuídos
Prof.: Warley Junior
warleyjunior05@gmail.com

Plano de Ensino. 1
Turma SI 2010
PLANO DE DISCIPLINA

 Carga horária: 48 horas teórica / 20 horas prática

 Objetivo Geral:

 Prover o conhecimento dos conceitos básicos


de sistemas distribuídos, bem como de técnicas
e critérios de projeto e implementação.

2
PLANO DE DISCIPLINA
 Objetivos específicos:

 Entender os diversos tipos e características dos


sistemas distribuídos;
 Compreender o funcionamento da gerencia
centralizada e distribuída de processos;
 Identificar corretamente vulnerabilidade em
sistema de informações distribuídos;
 Projetar e implementar pequenos sistemas de
objetos distribuídos;
 Compreender os principais mecanismos de troca 3
de mensagens em sistemas distribuídos.
PLANO DE DISCIPLINA
 Ementa:

 Introdução a sistemas distribuídos. Metas de


projeto de sistemas distribuídos. Comunicação
em sistemas distribuídos. Sincronização em
sistemas distribuídos. Sistemas de arquivamento
distribuído. Sistemas operacionais distribuídos.
Algoritmos distribuídos.

4
PLANO DE DISCIPLINA
 Avaliação:

1) Trabalho prático + Prova Individual


2) Trabalho prático + Prova Individual
3) Seminário + Prova Individual

5
PLANO DE DISCIPLINA
 Bibliografia Básica:

 COULOURIS, George. Sistemas distribuídos: conceitos


e projetos. 4ª ed. Porto Alegre: Bookman, 2007.

 TANENBAUM, Andrew S. Sistemas distribuídos:


princípios e paradigmas. 2ª ed. São Paulo: Pearson
Prentice Hall, 2007.

 DANTAS, Mario. Computação Distribuída de Alto


Desempenho: Redes, Clusters e Grids Computacionais.
6
1ª ed. Axcel Books, 2005.
Sistemas Distribuídos

Unidade I: Fundamentos de
Sistemas Distribuídos

7
FACOM – Faculdade de Computação
(Campus I - Marabá)
Agend
 AULA 1:
 Caracterização de Sistemas Distribuídos
 Definição
 Exemplos
 Compartilhamento de Recursos e a Web
 Desafios
 Exercícios
8
Leitura
COULOURIS, George. Sistemas distribuídos:
conceitos e projetos. 4ª ed. Porto Alegre:
Bookman, 2007.
 Capítulo 1.
TANENBAUM, Andrew S. Sistemas distribuídos:
princípios e paradigmas. 2ª ed. São Paulo:
Pearson Prentice Hall, 2007.
 Capítulo 1.

9
Definiçã
 Um sistema distribuído é um conjunto de
computadores independentes que se
apresenta a seus usuários como um sistema
único e coerente [TANENBAUM, 2007].

 Um sistema distribuído é aquele no qual os


componentes de hardware ou software,
localizados em computadores interligados em
rede, se comunicam e coordenam suas ações
apenas enviando mensagens entre si
[COULOURIS, 2007]. 10
Definiçã
 Sistemas distribuídos costumam ser organizados por
meio de:
 Camada de Nível Alto;
 Camada de Software;
 Camada Subjacente.

11
Característica
 Concorrência: em uma rede de computadores,
a execução concorrente de programas é a
norma.

 Inexistência de relógio global: quando os


programas precisam cooperar, eles coordenam
suas ações trocando mensagens.

 Falhas independentes: todos os sistemas de


computador podem falhar e é responsabilidade 12
dos projetistas de sistema pensar nas
Característica
consequências das possíveis falhas.
Exemplo
 INTERNET

intranet 

 ISP

backbone

Enlace de satelite

Computador Desktop:
13
Servidor:
Enlace de rede:
Exemplo
 INTERNET

 A Internet é um conjunto de redes de


computadores, de muitos tipos diferentes,
interligadas.

 A Internet é um sistema distribuído muito


grande. Ela permite que os usuários, onde
quer que estejam, façam uso de serviços como
a World Wide Web, e-mail e transferência de
arquivos 14
Exemplo
 INTRANET
Computadores
Servidores de Impressão Servidor Desktop
de e-mail

Servidor Web
Rede Local

Servidor de e-mail
Impressão
Servidor de Arquivo
Outros
servidores
Outras
porções da 15
Internet
Roteador/firewall
Exemplo
 COMPUTAÇÃO MÓVEL E UBÍQUA

Internet

Intranet anfitriã gateway


Rede local sem fio Intranet doméstica

Telefone
móvel
16
Impressora Laptop
Câmera Site anfitrião
Exemplo
Computação Móvel e Ubíqua

 Computação Móvel é a execução de tarefas


de computação, enquanto o usuário está se
deslocando de um lugar a outro ou visitando
lugares diferentes de seu ambiente usual.

 Computação Ubíqua é a utilização de vários


dispositivos computacionais pequenos e
baratos, que estão presentes nos ambientes 17
físicos dos usuários.
Exemplo
 COMPUTAÇÃO EM NUVEM

18
Compartilhamento
de Recursos e a Web
 Compartilhamos recursos de hardware (como
impressoras), recursos de dados (como arquivos)
e recursos com funcionalidade mais específica
(como os mecanismos de busca).

 O termo serviço é usado para designar uma


parte distinta de um sistema de computador que
gerencia um conjunto de recursos relacionados e
apresenta sua funcionalidade para usuários e
19
aplicativos.
Compartilhamento
de Recursos e a Web
 A World Wide Web (WWW) é um sistema em
evolução para a publicação e para o acesso a
recursos e serviços pela Internet.

 A web é um sistema aberto: ela pode ser


ampliada e implementada de novas maneiras, sem
perturbar a funcionalidade existente.

 A web é aberta no que diz respeito aos tipos de


recursos que nela podem ser publicados e 20
compartilhados.
Compartilhamento
de Recursos e a Web
 A web é baseada em três componentes tecnológicos
padrão principais:

 HTML (HyperText Markup Language) que é uma linguagem para


especificar o conteúdo e o leiaute de páginas de forma que elas
possam ser exibidas pelos navegadores web.

 URLs (Uniform Resource Locators), que identificam os documentos e


outros recursos armazenados como parte da web.

 Uma arquitetura de sistema cliente-servidor, com regras padrão para


interação (o protocolo HTTP – HyperText Transfer Protocol), por meio
das quais os navegadores e outros clientes buscam documentos e 21
outros recursos dos servidores web.
Compartilhamento
de Recursos e a Web

Servidores Web Navegadores

http://www.google.comlsearch?q=obama
www.google.com

Internet
www.ufpa.br
http://www.ufpa.br/

www.w3c.org
Sistema de arquivos
de www.w3c.org http://www.w3.org/standards/faq.html#conformance
Protocolos 22

faq.html
Desafio
 Heterogeneidade

 A heterogeneidade (isto é, variedade e diferença)


se aplica aos seguintes aspectos:
 redes
 hardware de computador
 sistemas operacionais
 linguagens de programação
 implementações de diferentes 23
desenvolvedores
Desafio
 Heterogeneidade

 Middleware: Camada de Software que fornece


uma abstração de programação, assim como o
mascaramento da heterogeneidade das redes,
hardware e etc.
 Ex: CORBA

 Heterogeneidade e migração de código: termo


usado para se referir ao código que pode ser
enviado de um computador para outro e ser 24
executado no destino.
 Ex: Applets Java
Desafio
 Sistemas Abertos

 Caracterizados pelo fato de suas principais interfaces


serem publicadas;

 Os sistemas distribuídos abertos são baseados na


estipulação de um mecanismo de comunicação
uniforme e em interfaces publicadas para acessos aos
recursos compartilhados; (RFCs)

 Os sistemas distribuídos abertos podem ser


construídos a partir de hardware e software 25
heterogêneo, possivelmente de diferentes
fornecedores.
Desafio
 Segurança
 Trata da segurança dos recursos de informação que
se tornam disponíveis e são mantidos em sistemas
distribuídos e que têm um alto valor intrínseco para
seus usuários.

 Pilares da Segurança da Informação


 Confidencialidade
 Integridade
 Disponibilidade

 Problemas ainda em discussão 26


 Ataque de negação de serviço
Segurança de código móvel
Desafio
 Escalabilidade

 Um sistema é descrito como escalável se


permanece eficiente quando há um aumento
significativo no número de usuários.

 Apresenta os seguintes desafios:


 Controlar o custo dos recursos físicos
 Controlar a perda de desempenho
 Impedir que os recursos de software se esgotem 27
 Evitar gargalos de desempenho
Desafio
 Tratamento de Falhas

 Detecção de Falhas
 Mascaramento de Falhas
 Ex.: Retransmissão de mensagens.
 Tolerância a Falhas
 Ex.: Falha apresentada pelo Navegador Web
 Recuperação de Falhas
 Redundância
 Ex.: Duas Rotas entre dois roteadores, DNS, Banco 28
de Dados Distribuídos.
Desafio
 Concorrência

 É a possibilidade de que vários clientes tentem


acessar um recurso compartilhado ao mesmo
tempo.
 Ex: A estrutura de dados que registre lances de
um leilão
 Para que um objeto mantenha coerência em
um ambiente concorrente, suas operações
devem ser sincronizadas; 29

 Ex: Semáforos
Desafio
 Transparência: o objetivo é tornar certos aspectos da
distribuição invisíveis para um usuário final ou para um
programador de aplicativos, para que este se preocupe
apenas com o projeto de seu aplicativo em particular.
Transparência Descrição
Oculta diferenças na representação de dados e no modo de
Acesso
acesso a um recurso
Localização Oculta o lugar em que um recurso está localizado
Migração Oculta que um recurso pode ser movido para outra localização
Oculta que um recurso pode ser movido para uma outra
Relocação
localização enquanto em uso
Replicação Oculta que um recurso é replicado
Oculta que um recurso pode ser compartilhado por diversos 30
Concorrência
usuários concorrentes
Falha Oculta a falha e a recuperação de um recurso.
Exercícios
1) Cite cinco tipos de recurso de hardware e recursos de dados ou
software que possam ser compartilhados com sucesso. Dê exemplos
práticos de seu compartilhamento em sistemas distribuídos.

2) Quais são as vantagens e desvantagens das tecnologias básicas


HTML, URLs e HTTP para navegação em informações? Alguma
dessas tecnologias é conveniente como base para a computação
cliente-servidor em geral?

3) Liste os três principais componentes de software que podem falhar


quando um processo cliente invocar um método em um objeto
servidor. Dê um exemplo de falha para cada caso. Sugira a maneira
como os componentes podem ser feitos para tolerar as falhas uns
dos outros. 31

Você também pode gostar