Plano de Estudos

Sistemas Distribuídos SDistr

Contextos

Groupo: 4_LEI 2025/26 > 1º Ciclo > 3º Ano

ECTS

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étodo de Avaliação

A avaliação consiste num projeto de programação em sistemas distribuídos, articulado em quatro fases coerentes e num exame final.

Carga Horária

Carga Horária de Contacto -

Trabalho Autónomo - 119.0

Carga Total -

Bibliografia

Principal

  • Distributed Systems: M. van Steen, A. S. Tanenbaum 2017 M. van Steen, A. S. Tanenbaum. Distributed Systems, 3rd edition, 2017

Secundária

Disciplinas de Execução

2026/2027 - 1 Semestre

2025/2026 - 1 Semestre