EISD - Sistemas Distribuídos (2008 - 2009)
Up one level- Docente Responsável
- Rui Oliveira
- Docente Responsável pelas aulas teóricas
- Rui Oliveira
- Docente(s) das aulas práticas
- Carlos Baquero Moreno
- Victor Francisco Fonte
Elementos de avaliação: dois testes, um durante o semestre e outro no final com pesos de 40 e 60% da nota final, respectivamente.
- Introdução a processos, concorrência e sistemas distribuídos;
- Concorrência em memória partilhada;
- Passagem de mensagens e sistemas distribuídos
Introdução a processos, concorrência e sistemas distribuídos
- Processos e threads;
- Partilha de memória versus passagem de mensagens;
- Evolução dos sistemas distribuídos;
- Caracterização de um sistema distribuído;
- Introdução a paradigmas de programação de sistemas distribuídos;
Concorrência em memória partilhada
- Exclusão mútua: atomicidade, corridas e secções críticas; mutexes; granularidade e hierarquias de recursos; two-phase locking; locking hierárquico;
- Sincronização via semáforos;
- Sincronização via monitores: tipos abstractos de dados concorrentes; variáveis de condição; espera e semânticas de sinalização; invariantes e predicados;
- Concorrência em linguagens orientadas a objectos: objecto como monitor, locking recursivo, monitores aninhados;
- Modelo de memória: falsas intuições sobre visibilidade; coêrencia sequêncial e coerências mais fracas;
Passagem de mensagens e sistemas distribuídos
- Canais e portos, send e receive, unicast e broacast;
- Modelos síncronos e assincronos;
- Modelos orientados ou não à conexão;
- Modelo cliente-servidor: padrões pedido-resposta, servidores com ou sem estado, controlo de concorrência em servidores;
- Modelo dos actores;
- Algoritmos distribuídos;
- Principles of Concurrent and Distributed Programming: Algorithms and Models, M. Ben-Ari, Prentice-Hall, 2006;
- Java Concurrency in Practice, Brian Goetz, Tim Peierls, Joshua Bloch, Addison Wesley, 2006
- Operating System Concepts (7ª ed), Avi Silberschatz, Peter Baer Galvin, Greg Gagne, John Wiley & Sons , 2005;
- Concurrency: State Models & Java Programs, Jeff Magee, Jeff Kramer, John Wiley & Sons;
- Documentação disponível online nesta página.
- Notas 1º Teste
- Notas 1º Teste. Os números de aluno que identificam a nota foram lidos das folhas dos teste, é possível que haja erros pontuais. Quaisquer dúvidas sobre as notas agora publicadas que não resultem de deficiência na identificação deverão ser colocadas no início do próximo período lectivo. rco
- Informações 2º teste e exame
- O 2º teste e o exame serão constituídos por dois grupos de questões: um sobre a matéria teórica o outro sobre o conhecimento adquirido nas aulas práticas. O primeiro grupo terá duas perguntas que poderão cobrir toda a matéria teórica da disciplina. O segundo grupo descreverá os requisitos de uma aplicação da qual se solcitará parte do código Java.
- TesteTipo
- 2ºTeste/Exame tipo
- AVISO - EXAME
- Caros alunos, pelo facto de as notas do 2º teste não terem sido publicadas até uma semana antes da data do exame de 11 de Fevereiro, haverá dois exames: a 11 e a 18 de Fevereiro. Poderão assim optar por qualquer um (mas apenas um) dos dias para o fazerem. As notas do 2º teste serão aqui afixadas durante o fim-de-semana. Grato desde já pela vossa compreensão, Rui Oliveira
- Notas de Frequência
- Notas finais (1º + 2º) teste.