Sistemas Distribuídos
3
2025-2026
01000241
Informática
Português
Presencial
Semestral
6.0
Obrigatória
1º Ciclo - Licenciatura
Conhecimentos de Base Recomendados
Programação Orientada a Objetos, Sistemas Operativos, Redes de Computadores.
Métodos de Ensino
Nesta disciplina são lecionadas aulas teórico-práticas (TP) com exposição detalhada, recorrendo a meios audiovisuais, dos conceitos, princípios e técnicas fundamentais dos Sistemas Distribuídos, acompanhada de exemplos concebidos para despertar o interesse dos alunos pela teoria e que demonstrem a sua aplicação prática. Leciona-se também aulas práticas laboratoriais (PL) em que os alunos, com a orientação do docente, resolvem exercícios que exigem a conjugação de conceitos teóricos e promovem o raciocínio crítico face a questões mais complexas. As aulas práticas são ainda dedicadas a acompanhar os trabalhos práticos.
Resultados de Aprendizagem
A disciplina de Sistemas Distribuídos proporciona aos alunos uma abordagem abrangente sobre os algoritmos, protocolos e fundamentos dos sistemas distribuídos modernos, incluindo programação concorrente e computação paralela. Os alunos deverão ser capazes de demonstrar competências no desenvolvimento de aplicações distribuídas usando várias tecnologias. Deverão também compreender e interligar conhecimentos sobre técnicas fundamentais para o desenho de aplicações distribuídas em ambiente organizacional e para a Internet. A disciplina pretende promover a aquisição de competências em análise e síntese, conhecimentos de informática relativos ao âmbito dos sistemas distribuídos e paralelos, competência para resolver problemas, competência em aprendizagem autónoma e competência em aplicar na prática os conhecimentos.
Estágio(s)
NãoPrograma
Introdução aos sistemas distribuídos, motivação e desafios, modelos arquiteturais e middleware.
Camadas de serviços, hardware, sistema operativo, middleware e aplicações.
Concorrência, organização de um computador, processos, threads e sincronização.
Computação paralela, aprendizagem computacional paralela, e lei de Amdahl.
Chamada remota de procedimentos, semânticas de invocação e protocolos pedido-resposta.
Comunicação indireta, sistemas publish-subscribe e message-oriented middleware.
Aplicações distribuídas para a Internet, programação para a Web e serviços REST.
Replicação primário-secundário e replicação ativa, soluções de alta disponibilidade.
Tempo em sistemas distribuídos, sincronização de relógios físicos e lógicos.
Coordenação e consenso distribuído, multicast fiável, ordenamento causal e total.
Transações distribuídas e confirmação atómica.
Nomes e serviços de nomes.
Sistemas peer-to-peer e a cadeia de blocos.
Métodos de Avaliação
Avaliação
Projecto: 40.0%
Exame: 60.0%
Bibliografia
Principal | Required:
- Distributed Systems: Concepts and Design, 5th edition, G. Coulouris, J. Dollimore, T. Kindberg, G. Blair, ISBN 0-13-214301-1, Pearson Education, 2011.
Secundária | Supplemental:
- Operating System Concepts, 10th edition, A. Silberschatz, P. B. Galvin, G. Gagne, ISBN 978-1119454083, Wiley, 2019.
- Distributed Systems, 4th edition, M. van Steen, A. S. Tanenbaun, ISBN 978-90-815406-3-6, 2023.