Sistemas Distribuídos
DCC 064
Ana Paula Couto
2
o.período de 2009
Professora
Informações
Website
http://www.fisiocomp.ufjf.br/anapaula/SD/cursoSD.html notas de aula (slides)
listas de exercícios
datas de provas, dicas, etc.
Presença
Obrigatória somente
para os seminários no final do período!
●Segundas às 21:10 / Terças às 19:10
Horário de atendimento
1 hora por semanaSegundas das 17:00 às 18:00
Utilizem!
Avaliação
Duas provas (peso 0.4 cada prova)
NÃO HAVERÁ PROVA OPCIONAL
1 Seminário (peso 0.2)
Listas de exercícios
nao valem nota
Seminários
Aplicações distribuídas ou
ferramentas (middleware) para desenvolvimento de aplicações distribuídas
2 alunos por tópico
Avaliação Comparativa! Somente apresentação
Importante mapear os conceitos discutidos sala de aula no tópico a ser apresentado
Seminários
Definição tópico / “grupo” até 21 de setembro
Enviar por email: Política FCFS para distribuição dos tópicos!
Após esta data, grupos deverão definir a data da apresentação
Visão Geral do Curso
Estudo introdutório de sistemas
distribuídos
Curso extenso englobando conceitos
chaves relacionados ao desenvolvimento
de sistemas distribuídos
Objetivo do Curso
Apresentar ao aluno conceitos básicos sobre
sistemas distribuídos
Capacitar os alunos a desenvolver aplicativos
distribuídos
Mas o que é um SD?
“Um sistema distribuído é um conjunto de
computadores independentes entre si que se
apresenta a seus usuários como um sistema
único e coerente” – Tanenbaum/Van Steen
Outras Definições
“Coleção de computadores autônomos
interconectados por uma rede, com software
projetado para produzir uma aplicação
Na vida real ....
“Você sabe que existe um sistema
distribuído quando a falha de um
computador que você nunca ouviu falar
impede que você faça qualquer trabalho” -
Leslie Lamport
Explosão de Sistemas Distribuídos
Thomas J. Watson, IBM 1943
“ I think there is a world market for maybe five computers”
Figueiredo – Leão – 2009
Internet
~1.5 bilhões de usuários
~10
4redes (AS)
~10
7roteadores
~10
10emails por dia
~10
5buscas no Google
por segundo
~10
8vídeos no YouTube
Figueiredo – Leão – 2009
Mais Exemplos (1/2)
●
Uma rede de estações de trabalho em uma
universidade ou companhia
●
Uma rede de computadores em uma fábrica
●
Um grande banco com muitas agências, cada qual
Figueiredo – Leão – 2009
Mais Exemplos (2/2)
●
Sistema de reserva de passagens aéreas
●Sistema de controle de estoque, vendas e
entregas numa cadeia de lojas
●
Serviços da Internet: Netnews, WWW
●
Sistemas de acesso a recursos de multimídia e
Outline do Curso (1/3)
Introdução [1 aula]
Metas e Tipos de Sistemas Arquitetura [1 aula]
Peças complexas de software: como organizá-las? Organização de Software e Física
Processos [3 aulas]
Processo: programa em execução. Como descrevê-lo em termos de SD?
Outline do Curso (2/3)
Comunicação [3 aulas]
Como estabelecer a comunicação entre
os componentes do sistema? Middleware versus sockets
Nomeação [2 aulas]
Como identificar uma entidade dentro de um ambiente distribuído?
Outline do Curso (3/3)
Sincronização [3 aulas]
O que gera a falta de sincronização?
Qual abordagem utilizar? Sincronização em diversos níveis Consistência e replicação [3 aulas]
Vantagens e Problemas. Mas o que é consistência? Tolerância a falha [3 aulas]
Robustez e confiabilidade são importantes! Tipos de falha: comunicação, processamento
Livro Texto
Tanenbaum, A.S; Steen M.V.
Sistemas Distribuídos: Princípios e Paradgmas.
2a.Edição. São Pauilo: Pearson Prentice-Hall, 2007.
Recomendação para Sucesso
Façam a leitura do texto
sem estudar não funciona
Façam as listas de exercícios
provas serão baseadas nas listas
Venham às aulas
participem das discussões