Semestre 2017
SISTEMAS DISTRIBUDOS
Divani Barbosa
http://professoradivani.blogspot.com.br/
Aula 1
BIBLIOGRAFIA
CENTRO PAULA SOUZA
COULOURIS, G; DOLLIMORE, J;
TANENBAUM, A S; STEEN, M. Sistemas
KINDBERG, T. Sistemas
Distribudos Princpios e
Distribudos: Conceitos e Projeto.
Paradigmas. Prentice-Hall, 2007
Bookman, 2007
CALENDRIO ACADMICO
Dia Aula
1 Volta as aulas
7 Aula 0 prof. Fabricio
14 Aula 1 Apresentao da
ementa, calendrio, forma de
avaliao. Fundamentos de
Sistemas Distribudos.
21 Aula 2 - Caracterizao de
1 Inicio do segundo Sistemas Distribudos
semestre letivo 28 Aula 3 - Modelos de Sistemas
Distribudos 4
CALENDRIO ACADMICO
Dia Aula
4 Aula 4 - Comunicao e
Sincronizao de Processos
11 Aula 5 - Sistemas Operacionais
Distribudos
18 Aula 6 - Segurana
7 Feriado Independncia do
Brasil
8 e 9 No haver aula
(emenda feriado) 5
CALENDRIO ACADMICO
Dia Aula
2 Prova 1
CALENDRIO ACADMICO
Dia Aula
6 Aula 12 Apresentao
Trabalhos
13 Aula 13 Apresentao
Trabalhos
20 Aula 14 Apresentao
Trabalhos
27 Aula 15 - Simulado P2
2 Feriado Finados
3 e 4 No haver aula (emenda
feriado)
15 Feriado Proclamao da
Repblica
CALENDRIO ACADMICO
Dia Aula
4 Prova 2
11 Aula 16 - Simulado Prova 3
18 Prova 3
20 Prazo final para alteraes no
sistema SIGA
TRABALHOS
Seguir padro artigo cientifico (Manuscrito)
Guia disponvel no site
Apresentaes: 30 minutos
Temas: (28 alunos) 14 temas (sorteio)
1. (30/10) Fundamentos de Sistemas Distribudos.
2. (30/10) Caracterizao de Sistemas Distribudos
3. (6/11) Modelos de Sistemas Distribudos
4. (6/11) Redes de computadores e interligao em rede
5. (6/11) Comunicao e Sincronizao de Processos.
6. (6/11) Objetos Distribudos e Invocao Remota
7. (13/11) Sistemas Operacionais Distribudos.
8. (13/11) Segurana.
9. (13/11) Sistemas de Arquivos Distribudos.
10. (13/11) Coordenao e Acordo
11. (20/11) Transaes e Controle de Concorrncia
12. (20/11) Sistemas Multimdia Distribudos.
9
13. (20/11) Memria Compartilhada Distribuda.
14. (20/11) Aplicaes Distribudas (Estudo de Caso).
AVALIAO
Clculo Mdia:
P3 no mximo 6.67
Aprovao:
Somente na seguinte situao: Mdia 1 ou 2 maior igual a
6 e frequncia maior igual a 75%
Reprovao:
Situao 1: Mdia menor que 6 ou
10
Situao 2: Frequncia menor que 75% (21 faltas)
DATAS (RESUMO)
02/10/17 Prova 1 (P1)
Apresentaes Duplas 1 e 2
04/12/17 Prova 2
18/12/17 Prova 3
11
AULA 1
Reviso vetores em Java
Vetores Ordenados
Algoritmo
Implementao em Java
Fila de Prioridade
Algoritmo
Implementao em Java
HeapSort
Algoritmo
Implementao em Java
Atividades Fixao 12
VETORES
Estrutura de armazenamento de dados mais
comumente usada.
Insero
Inserir um item no vetor fcil, usamos a sintaxe normal
de vetor e tambm controlamos quantos itens inserimos
no vetor com a varivel n.
VetorInt[0] = 77;
VetorInt[1] = 55;
n = 2;
Exibio
Considerando que a varivel n contem o nmero de
elementos do vetor. Exibir todos os elementos simples,
percorremos o vetor acessando cada elemento com
VetorInt[i] e exibimo-los.
Pesquisa
Considerando que a varivel chave contem o valor que
estamos procurando. Para pesquisar um item,
percorremos o vetor comparando a chave com cada
elemento. Se o contador i atingir a ultima clula ocupada
sem nenhuma coincidncia encontrada, o valor procurado
no se encontra no vetor.
chave = 66; // achar item com chave 66
Remoo
A remoo comea com a pesquisa do item especificado
(chave). Caso ele se encontre no vetor movemos todos os
itens de ndice mais alto para baixo e diminumos o
numero de elementos.
chave = 55; // remover item com chave 55
Classe Vetor:
Campos Construtor
private long[] v; public Vetor(int tam) {
private int n; v = new long[tam];
n = 0;
}
Mtodos
inserir: Insere itens no vetor
buscar: Retorna -1 caso no encontre ou a
posio no vetor onde o item se encontra.
remover: Retorna verdadeiro se removeu item
exibir: Exibe na tela todos os itens 17
class Vetor {
private long[] v;
private int n; // numero de elementos adicionados
20
VETORES ORDENADOS
Por que usar vetores ordenados?
21
24
VANTAGENS
O que ganhamos ao usar vetores ordenados?
como no ordenados.
VANTAGENS
O que ganhamos ao usar vetores ordenados?
FILA DE PRIORIDADE
Usa o princpio de que o primeiro que entra o
primeiro que sai.
class No {
espao para armazenamento
public long item;
da informao
public No prox;
construtor
28
Classe FilaPrior:
Campos Construtor
private No inicio; public FilaPrior() {
private No fim; fim = null;
inicio = null;
}
Mtodos
front: Retorna o item do inicio.
end: Retorna o item do fim.
empty: Retorna verdadeiro se fila vazia.
push: Insere itens de maneira ordenada na
fila. 29
class FilaPrior {
private No inicio;
private No fim;
public FilaPrior() {
fim = null;
inicio = null;
}
31
No atual = inicio;
No anterior = null;
while (atual != null) { // caminha para a posio de inserir
if (atual.item > valor) break;
anterior = atual;
atual = atual.prox;
}
if (anterior == null) { // Se o No ser inserido no inicio
novo.prox = atual;
inicio = novo;
}
else if (atual == null) { // Se o No ser inserido no fim
novo.prox = null;
anterior.prox = novo;
fim = novo;
}
else { // Se No ser inserido no meio
novo.prox = atual;
anterior.prox = novo;
} 32
}
33
VANTAGENS
O que ganhamos ao usar fila de prioridade?