Sistemas Distribuídos
3
2024-2025
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óricas 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 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 programação concorrente, algoritmos, protocolos e fundamentos dos sistemas distribuídos modernos. Os alunos deverão adquirir competências no desenvolvimento de aplicações concorrentes e distribuídas usando várias tecnologias e deverão ser capazes de perceber e interligar conhecimentos sobre técnicas fundamentais para o desenho de aplicações concorrentes e distribuídas em ambiente empresarial 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 do estudo, 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
- Concorrência
* Organização de um computador
* Hierarquia de memória
* Funções de um Sistema Operativo
* Processos e Threads
* Programação concorrente e sincronização
* Bibliotecas de suporte à concorrência
- Conceção de Aplicações Distribuídas
* Introdução aos Sistemas Distribuídos
* Desafios no desenvolvimento de aplicações distribuídas
* Modelo cliente/servidor
* Programação multi-threaded com Sockets TCP e UDP
- Middleware e Web
* Visão geral sobre Middleware
* O modelo de RPCs
* Tratamento de falhas no modelo de RPCs e semânticas dos RPCs
* Programação distribuída usando Java RMI
* O protocolo HTTP
* Aplicações distribuídas para a Internet
* Programação para a Web
* Web Services
- Serviços Distribuídos
* Segurança em Sistemas Distribuídos
* Servidores de Nomes e de Diretoria
* Sistemas de Ficheiros Distribuídos
* Sincronização de relógios
* Ordem causal e total
* Replicação de servidores e soluções de alta disponibilidade
* Sistemas Peer-to-Peer
Docente(s) responsável(eis)
Raul André Brajczewski Barbosa
Métodos de Avaliação
Avaliação
Projecto: 40.0%
Exame: 60.0%
Bibliografia
Bibliografia necessária | Required bibliography:
- Distributed Systems: Concepts and Design, 5th edition, G. Coulouris, J. Dollimore, T. Kindberg, G. Blair, Pearson Education, 2011.
Bibliografia suplementar | Supplemental bibliography:
- Operating System Concepts: 8th Edition, by Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. John Wiley & Sons, ISBN 9780470233993
- Distributed Systems: Principles and Paradigms, A. S. Tanenbaum, M. van Steen, Prentice Hall, 2001..