Processos e Threads
Noção de processo. Criação e terminação de processos. Escalonamento de
processos. Pipes. Noção de thread. Principais benefícios e implicações
da utilização de processos multithreaded. User threads versus kernel
threads. Criação, terminação e cancelamento de threads.
Escalonamento e Sincronização de Processos
Escalonamento preemptivo versus não-preemptivo. Critérios de
escalonamento. Algoritmos de escalonamento. Problema da secção
crítica. Exclusão mútua. Locks e semáforos. Problemas clássicos de
sincronização. Starvation e deadlocks.
Gestão de Memória e Memória Virtual
Espaço de endereçamento lógico e físico. Alocação contígua de
memória. Fragmentação interna versus
externa. Segmentação. Paginação. Espaço de endereçamento
virtual. Algoritmos de substituição de páginas. Modelos de alocação de
frames.
Sistema de Ficheiros e Dispositivos de Armazenamento
Organização, estrutura e camadas de um sistema de
ficheiros. Ficheiros. Estrutura e hierarquia de diretórios. Alocação
de espaço em disco. Gestão de espaço livre. Discos HDD e
SSD. Algoritmos de acesso ao disco.
Advanced Programming in the UNIX Environment 3/E
R. W. Stevens and S. A. Rago. Addison-Wesley.
Operating Systems: Internals and Design Principles 8/E
W. Stallings. Prentice Hall.
Sistemas Operativos 2/E
J. Alves Marques, C. Ribeiro, R. Rodrigues, P. Ferreira and Luís Veiga. FCA.