Sistemas Operativos

Denominação Estratégia ECTS
Sistemas Operativos Teórica/prática e Prática laboratorial 7
Área científica: Ciências da Especialidade/Aplicadas
Objectivos de aprendizagem:

Conhecer a estrutura e operação do sistema operativo. Conhecer a programação multi-processo e multi-tarefa. Programar em linguagem C, em ambiente GNU/LINUX, utilizando a interface de chamadas ao sistema POSIX. Estudar diferentes mecanismos de comunicação entre processos. Conhecer os mecanismos do SO para coordenação entre processos e tarefas. Programação de problemas clássicos de coordenação entre processos e tarefas. Conhecer os mecanismos de gestão da memória num sistema operativo moderno. Conhecer a implementação de sistemas de ficheiros. Conhecer os mecanismos de Entrada e Saída do sistema operativo.

Síntese programática:

Introdução aos Sistemas Operativos – Definição de sistema operativo; Arquitectura e organização do computador; Funcionamento do sistema operativo; Tipos de sistemas operativos; Estrutura do Sistema operativo; Chamadas ao sistema; A estrutura do sistema operativo. Processos e “Threads” – Processos. “Threads”; Escalonamento; Comunicação entre processos; Sincronização entre processos e threads;. Gestão da Memória – Gestão Básica da Memória; “Swapping”; Memória Virtual; Algoritmos de substituição de páginas. Sistemas de Ficheiros – Ficheiros; Directórios; Implementação de sistemas de ficheiros; Exemplos de Sistemas de Ficheiros. Entrada / Saída – “Hardware” de entrada / saída; “Software“ de entrada / saída; “Block Devices”; “Serial Devices”. 

Competências específicas adquiridas:

Ser capaz de:

– Conhecer a estrutura e operação do sistema operativo.

– Programar em linguagem C, em ambiente GNU/LINUX, utilizando a interface de chamadas ao sistema POSIX.

– Conhecer a programação “multi-threaded” e programar POSIX “threads”.

– Utilizar diferentes mecanismos de comunicação entre processos.

– Programar problemas clássicos de coordenação entre processos/”threads”.

– Conhecer e utilizar os mecanismos de gestão da memória num sistema operativo moderno.

– Implementar mecanismos de entrada/saída.

– Conhecer a implementação de sistemas de ficheiros.

Referências bibliográficas:

[1] José Alves Marques et al. – Sistemas Operativos 2ª Ed. – FCA 2012.

[2] Silbershatz, Galvin, Gagne – Operating System Concepts-9th ed. – Wiley 2012.

[3] Mitchell, Mark et al. – Advanced LINUX programming – Code Sourcery 2001.
 

Visualizar projetos: ISUS