Programa da disciplina:

Unidade 1: Sistemas Distribuídos

1.1. Definição
1.2. Motivação
1.3. Revisão de Hardware
1.4. Troca de mensagens

Unidade 2: Algoritmos Distribuídos

2.1. Sincronização de Relógios
2.2. Ordenação de Eventos
2.3. Eleição
2.4. Exclusão Mútua
2.5. Deadlock

Unidade 3: Comunicação em Grupo

3.1. Conceito de Grupo
3.2. Tipos de comunicação
3.3. Formas de ordenação
3.4. Gerência de pertinência
3.5. Sincronia

Unidade 4: Ambientes de Programação Distribuída

4.1. Multithreading
       4.1.1. Controle de concorrência
       4.1.2. Sincronização
4.2. Plataformas para Programação Distribuída
       4.2.1. Sockets
       4.2.2. RPC
       4.2.3. Plataformas Orientadas a Objetos
                4.2.3.1. Estudos de caso (Corba, RMI, etc)
       4.2.4. Plataformas para Comunicação em Grupo
                4.2.4.1. Estudos de caso (J-groups, Isis, etc)

Unidade 5: Modelos para Programação Distribuída

5.1. Conceitos básicos
5.2. Modelo Probe/Echo
5.3. Modelo Broadcast
5.4. Modelo Toking-passing
5.5. Modelo Replicated Servers