Sistemas Operativos
Código
0105935Créditos ECTS
6Objetivos
1. Conhecer os conceitos fundamentais dos sistemas operativos.
2. Conhecer a estrutura interna e funcionamento dos sistemas operativos.
3. Saber usar os mecanismos de segurança proporcionados pelos sistemas operativos.
4. Conhecer os modelos de computação oferecidos pelos sistemas operativos.
5. Saber utilizar as interfaces de programação disponíveis nos sistemas operativos.
Programa
Objetivos de aprendizagem
1. Conhecer os conceitos fundamentais dos sistemas operativos.
2. Conhecer a estrutura interna e funcionamento dos sistemas operativos.
3. Saber usar os mecanismos de segurança proporcionados pelos sistemas operativos.
4. Conhecer os modelos de computação oferecidos pelos sistemas operativos.
5. Saber utilizar as interfaces de programação disponíveis nos sistemas operativos.
Conteúdos programáticos
1. Conceitos básicos sobre os sistemas operativos
1.1. Estrutura e funções de um sistema operativo
1.2. Evolução dos sistemas operativos
2. Processos e Escalonamento
2.1. Processos e Threads
2.2. Algoritmos de Escalonamento
2.3. Algoritmos de Sincronização
2.4. Comunicação entre Processos e interbloqueio
3. Gestão de Memória
3.1. Paginação
3.2. Segmentação
3.3. Memória Virtual
4. Gestão de Armazenamento
4.1. Organização de um sistema de ficheiros.
4.2. Indexação, Diretorias e Gestão de espaço livre
5. Entradas e saídas
5.1. Arquiteturas de entradas e saídas (E/S).
5.2. Gestão de periféricos
6. Arquiteturas e mecanismos de segurança
6.1. Isolamento (confinamento)
6.2. Autenticação e autorização
7. O modelo computacional do Linux
7.1. Visão global do sistema
7.2. Programação em Shell
7.3. Programação em C
Métodos de Ensino
Aulas teóricas
Exposição dos conceitos e apresentação de exemplos.
Realização de testes no final de cada capítulo.
Aulas práticas laboratoriais
Exploração das funcionalidades do sistema operativo Linux: utilização da interface de linha de comandos; construção de scripts em shell; codificação de programas em C.
Utilização do sistema de gestão de aprendizagem Moodle, onde estão disponíveis recursos e atividades diversas, como complemento às aulas presenciais.
Bibliografia
Essencial
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. Operating System Concepts, 9th Edition. John Wiley & Sons. 2012
José Alves Marques, Paulo Ferreira, Carlos Ribeiro, Luís Veiga, Rodrigo Rodrigues. Sistemas Operativos. FCA. 2012.
Complementar
Andrew S. Tanenbaum. Modern Operating Systems, 4th Edition. Pearson. 2014.
Fernando Pereira, Rui Guerreiro. LINUX: Curso Completo. 7ª Edição. FCA. 2015
William Stallings; Operating Systems: Internals and Design Principles, 8th Edition, Prentice Hall, 2014.