Objectivos
Licenciatura em Engenharia Informática
- Compreender o conceito de sistema operativo; Conhecer a evolução histórica dos SO; Conhecer tipos, funções e características dos sistemas operativos; conhecer a estrutura de um Sistema Operativo - Analisar o sistema de ficheiros, ficheiros e directorias, comandos relacionados. Utilização de um editor de texto para utilização remota. - Conhecer a sintaxe e a estrutura de um programa em linguagem C. Ser capaz de analisar, explicar e alterar um programa em Linguagem C - Compreender diversos conceitos: processo; concorrência; pseudo-paralelismo e multi-programação; threads, zonas críticas e exclusão - Compreender conceitos e testar mecanismos relativos a processos; criação; execução; comunicação entre processos: envio e tratamento de sinais; Conhecer os algoritmos de scheduling mais utilizados - Conhecer e testar mecanismos básicos de comunicação entre processos: memórias partilhadas, semáforos, filas de mensagem Compreender os mecanismos de gestão de memória: organização hierárquica da memória; Endereçamento real e virtual; Algoritmos de substituição de páginas; Conceito de Thrashing e de Working Set - Testar e compreender os mecanismos de leitura e escrita. chamadas ao sistema (I/O); IPC: pipes e sockets; sistema de ficheiros Utilização de comandos; programação em shell. Utilizar elementos de administração e segurança de um sistema operativo. Estrutura do sistema de ficheiros; gestão de contas; outras tarefas de administração - Adquirir conceitos sobre sistemas de ficheiros; ficheiros; directorios; implementação do sistema de ficheiros; questões de implementação - Conhecer os mecanismos de entrada/saida de um sistema operativo: periféricos; interrupções; device drivers; chamadas ao sistema e spooling - Conhecer os diversos tipos de autenticação de utilizadores; conhecer vários tipos de ataques, de dentro e de fora do sistema