Disciplina Curricular
Sistemas Distribuídos SDistr
Licenciatura Bolonha em Engenharia Informática - 3_Plano 2015/16
Contextos
Grupo: 3_Plano 2015/16 > 1º Ciclo > 3º Ano
Período:
Peso
6.0 (para cálculo da média)
Objectivos
Pretende-se que o aluno adquira noções introdutórias sobre a distribuição num sistema computacional e os conceitos subjacentes. O aluno irá aprender diversos modelos e serviços de sistemas distribuídos, e terá a oportunidade de estudar as arquiteturas e mecanismos em que estes se apoiam. Finalmente, o aluno irá também aprender técnicas fundamentais para concretização prática de um sistema distribuído.
Programa
Geral: 1. Introdução a Sistemas distribuídos (SD); 2. Arquiteturas de SD; 3. Processos; 4. Comunicação; 5. Nomes; 6. Coordenação; 7. Replicação e Consistência de Dados; 8. Tolerância a Faltas. Componente Teórica: Arquitecturas genéricas distribuídas; modelo cliente-servidor; comunicação distribuída (chamada a procedimentos remotos, invocação a objectos remotos, filas de mensagens, streams, grupos); migração de código e agentes; coordenação (sincronização de relógios, salvaguarda de estado, exclusão mútua, eleição); transacções distribuídas; replicação e consistência de dados; tolerância a faltas (fundamentos e problema dos generais bizantinos). Componente Teórica-Prática: Estuda fundamentalmente a comunicação em sistemas distribuídos, explicando detalhadamente como se programam sistemas distribuídos com sockets e threads POSIX.
Métodos de ensino e avaliação
A avaliação consiste num projeto de programação em sistemas distribuídos, articulado em quatro fases coerentes e num exame final.