Sistemas Operativos
3
2014-2015
01000495
Sistemas Digitais e Computadores
Português
Inglês
Presencial
Semestral
6.0
Obrigatória
1º Ciclo - Licenciatura
Conhecimentos de Base Recomendados
Programação de Computadores; Estrutura de Dados e Algoritmos; Sistemas de Microprocessadores.
Métodos de Ensino
Aulas teóricas do tipo magistral com exposição, recorrendo a meios audiovisuais, dos conceitos, princípios, teorias e metodologias e com a apresentação de exemplos de concretização e aplicação.
Aulas práticas laboratoriais com a orientação do docente: nestas, haverá algum tempo dedicado a apresentação de tópicos relevantes para a execução das fichas e trabalhos práticos; e o restante tempo será dedicado à realização de fichas e trabalhos práticos que exijam a aplicação e conjugação de conceitos distintos.
Resultados de Aprendizagem
Adquirir conhecimentos sobre o funcionamento de sistemas operativos e dos seus módulos, incluindo, escalonamento de processos, gestão de memória, memória virtual, escalonamento em disco, sistemas de ficheiros, e programação concorrente; e conhecimentos básicos sobre sistemas distribuídos. Adquirir conhecimentos sobre técnicas e algoritmos relacionados com os sistemas operativos. Adquirir capacidades para escrever bom código de sistema que explore de uma forma optimizada as funcionalidades de um sistema operativo.
Aquisição de competências em análise e síntese, conhecimentos de informática relativos ao âmbito do estudo, aprendizagem autónoma, aplicação prática de conhecimentos teóricos, resolução de problemas, trabalho em grupo, adaptabilidade a novas situações, planear e gerir.
Estágio(s)
NãoPrograma
Conceitos introdutórios e de suporte a sistemas operativos; Noções gerais sobre arquitectura de computadores; Funções dos sistemas operativos; Processos: descrição e controlo; Fios de execução; Concorrência: exclusão mútua, sincronização e comunicação, deadlocks e starvation; Gestão de memória; Memória virtual; Escalonamento de processos e fios de execução; Gestão de periféricos e escalonamento de disco; Sistemas de ficheiros; Segurança em sistemas operativos; Introdução aos sistemas operativos distribuídos; Exemplos de sistemas operativos tais como Unix e Windows; Programação de sistema.
Docente(s) responsável(eis)
Rui Alexandre de Matos Araújo
Métodos de Avaliação
Avaliação
Frequência ou mini-testes: 20.0%
Trabalho laboratorial ou de campo: 30.0%
Exame: 50.0%
Bibliografia
• Stallings, W. (2004) – Operating Systems - Internals and Design Principles, 5ed, Prentice-Hall.
• Silberschatz, A., Galvin, P.B., Gagne, G. (2002) – Operating System Concepts, 6ed, John Wiley and Sons.
• Robins, K.A., Robins, S. (2003) – Unix Systems Programming: Communication Concurrency, and Threads, Prentice-Hall.
• Marshall, D.A. (1999) – Programming in C: UNIX System Calls and Subroutines Using C, Cardiff University, UK, Internet.
• Kernighan, B.W., Ritchie, D.M. (1988) – The C Programming Language, 2ed, Prentice-Hall.
• Stevens, W.R. (1991) – UNIX Network Programming, 1ed, Prentice-Hall.
• Hall, B.B. (2007) – Beej's Guide to C Programming, Internet.
• Hall, B.B. (2009) – Beej's Guide to Unix Interprocess Communication, Internet.
• Stevens, W.R., Rago, S.A. (2005) – Advanced Programming in the UNIX Environment, 2ed, Addison-Wesley.
• Rockind, M.J. (2004) – Advanced UNIX Programming, 2ed, Pearson.