EISD - Sistemas Distribuídos (2007 - 2008)
Up one level- Docente Responsável
- Paulo Sérgio Almeida
- Docente Responsável pelas aulas teóricas
- Paulo Sérgio Almeida
- Docente(s) das aulas práticas
- Carlos Baquero Moreno
- Victor Francisco Fonte
Elementos de avaliação: mini-teste e teste final
Nota = 0.2 * mt + 0.8 * tf
- 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;
- Programação concorrente em Erlang;
- 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
- Programming Erlang, Joe Armstrong, OReilly, 2007;
- 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: gsd.di.uminho.pt.
CBM (TPs de 5a Feira)
Oct 11 M: fork, wait, exec
Oct 11 T: fork, wait
Oct 18 M: open, read, write, pipes, sinais
Oct 18 T: exec, open, read, write, pipes, sinais
Oct 24 M: java threads. Uso de synchronized.
Oct 24 T: java threads. Uso de synchronized.
Nov 1 M: Feriado
Nov 1 T: Feriado
Nov 8 M: Semáforos, Barreira com semáforos.
Nov 8 T: Semáforos, Barreira com semáforos.
Nov 15 M: Semana de Exames
Nov 15 T: Semana de Exames
Nov 22 M: Barreira com monitor. Variáveis de condição (wait, notifyAll)
Nov 22 T: Barreira com monitor. Variáveis de condição (wait, notifyAll)
Nov 29 M: Continuação da Barreira. Banco com tranferência entre contas e
número fixo de contas. Ordem de obtenção de locks.
Nov 29 T: Continuação da Barreira. Banco com tranferência entre contas e
número fixo de contas. Ordem de obtenção de locks.
Dez 6 M: Continuação do banco
Dez 6 T: Não houve aula.
Dez 13 M: Inicio do Banco com criação e remoção de contas.
Dez 13 T: Inicio do Banco com criação e remoção de contas.
Jan 10 M: Conclusão do banco. Cliente/servidor com sockets.
Jan 10 T: Conclusão do banco. Cliente/servidor com sockets.
Jan 17 M: Servidor de somas concorrente
Jan 17 T: Servidor de somas concorrente
- Reposição de aulas práticas
- Confirma-se que hoje, 31 de Outubro, haverá lugar à reposição de aulas práticas para os turnos de 2a-Feira. A aula de reposição para o turno TP1será das 14-16h e para o TP2 das 16-18h.
- Reposição de aulas relativas ao turno de 6a-feira
- Sugere-se a reposição de aulas práticas relativas ao turno de TP5 (6a-feira), na próxima 4a-feira, dia 7 de Novembro entre as 14 e as 15h. Para o efeito, solicita-se aos alunos inscritos no referido turno que entrem em contacto com o docente a fim de confirmarem a sua disponibilidade.
- Teste de avaliação , 2008-01-23 02:00:00 - 2008-01-23 05:00:00
- Sessão esclarecimento de dúvidas
- Hoje às 17:30 no Laboratório de Sistemas Operativos (0.05).
- Sessão esclarecimento de dúvidas
- Sexta 15 às 14h00 no Laboratório de Sistemas Operativos (0.05).