O sistema operativo é a camada de software que efetua a gestão do hardware da máquina, e apresenta ao programador uma interface independente das características específicas de cada dispositivo. As noções de ficheiro e processo são centrais neste processo de virtualização, bem como a própria gestão da memória.
Após completar a presente unidade curricular, o estudante deverá ser capaz de identificar as principais funções do Sistema Operativo, e descrever as principais formas como essas funções podem ser asseguradas.
Introdução aos Sistemas Operativos;
Processos e Tarefas;
Gestão de Memória;
Sistemas de Ficheiros;
Entradas/Saídas;
Impasses;
Caso estudado: Linux.
Bibliografia Obrigatória
Modern Operating Systems, International Edition 3e (3ª edição ou posterior), Andrew S. Tanenbaum, Pearson Higher Education, ISBN-13: 978-0138 134594, ISBN-10: 0138 134596.
ou em alternativa,
Sistemas Operativos (2.ª Edição Atualizada, 2012), José Alves Marques/Paulo Ferreira/Carlos Ribeiro/Luís Veiga/Rodrigo Rodrigues, FCA, ISBN-13: 978-972-722-756-3.
Bibliografia Complementar (Opcional)
Advanced Linux Programming, Mark Mitchell/Jeffrey Oldham/Alex Samuel of CodeSourcery LLC, published by New Riders Publishing, ISBN-13: 978-0735 710436, ISBN-10: 0735 710430, First Edition, June 2001 (Disponível gratuitamente na Internet).
E-learning.
O regime de avaliação preferencial é o de avaliação contínua, constituída pela realização de 2 e-folios (trabalhos escritos em formato digital), ao longo do semestre letivo, e de um momento final de avaliação e-fólio Global (e-fólioG), a ter lugar no final do semestre, com peso de, respetivamente, 40% e 60% na classificação final. Os estudantes podem, no entanto, em devido tempo, optar um único momento de avaliação, realizando, então uma prova de Avaliação Final (exame) com o peso de 100%.
Pré-requisitos: Conhecimentos de Programação em Linguagem C (21173 Introdução à Programação) e de Arquitectura de Computadores (UC 21010 Arquitectura de Computadores).
Apresentação pessoal do docente