1 - Conhecer os conceitos fundamentais subjacentes aos sistemas operativos, com ênfase nos seus mecanismos e algoritmos, assim como a estrutura interna dos sistemas operativos mais relevantes.
2 - Programar, ao nível sistema, usando todas as funcionalidades dos sistemas operativos tendo em conta os modelos de programação sequencial e concorrente.
1 - Evolução dos sistemas operativos. Concorrência e gestão de processos.
2 - O núcleo de um sistema multiprogramado. Despacho e escalonamento.
3 - Sincronização entre processos. Semáforos, algoritmos de sincronização.
4 - Gestão de memória. Memória virtual. Algoritmos de gestão de memória do sistema operativo.
5 - Comunicação entre processos.
6 - Sistema de ficheiros.
7 - Entradas/saídas.
Metodologias de ensino: - Aulas expositivas, Resolução de problemas, Realização de trabalhos, Projecto em grupo, Sessões de apresentação e defesa do projecto. Avaliação: - Dois testes escritos (cada um valendo 25% da nota final) & um projeto (vale 50% da nota final, distribuída em três momentos de avaliação de 5%, 10% e 35%).