Disciplina Curricular

Sistemas Distribuídos SDistr

Licenciatura Bolonha em Engenharia Informática - 4_LEI 2025/26

Contextos

Grupo: 4_LEI 2025/26 > 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.

Disciplinas Execução

2025/2026 - 1 Semestre