Sistemas Operativos
-
Conhecimentos de Base Recomendados
-
-
Objetivos
O objetivo da Unidade Curricular de Sistemas Operativos consiste em fornecer competências básicas no domínio dos sistemas operativos de forma aos estudantes reconhecerem e compreenderem o funcionamento de sistemas operativos instalados em computadores. Pretende-se que os estudantes compreendam os conceitos básicos de concorrência e paralelismo de forma a programar aplicações que recorrem a técnicas de multiprogramação. Pressupõe competências adquiridas em programação.
No final desta unidade curricular o estudante deverá estar apto para:1. Descrever a estrutura de um sistemas operativos, identificando as suas partes constituintes e enunciando os seus objetivos.
2. Explicar, usando linguagem técnica adequada, o funcionamento do sistema operativo ou problema associado.
3. Enunciar e comparar diferentes algoritmos de escalonamento, ou seleção, analisando os seus aspetos positivos e negativos.
4. Descrever o funcionamento do istemas operativos relacionando-o com os vários componentes físicos (hardware) do computador. 5. Elaborar e descrever o funcionamento dum istemas operativos baseando-se em diagramas de estado dos processos.6. Programar e descrever o funcionamento dum programa que utilizando técnicas de multiprogramação.
7. Programar aplicações para computadores que façam uso dos recursos do computador de forma eficiente usando e dominando técnicas de multiprogramação e sincronização de threads/processos a partir dum problema.Os conteúdos programáticos observam os objetivos da unidade curricular relativos aos conhecimentos a adquirir, focando o ensino dos conceitos básicos essenciais de sistemas operativos e gestão de processos, e transpondo esses conceitos para a prática.
Os conteúdos programáticos procuram seguir uma sequência lógica e incremental na introdução dos elementos fundamentais, que abordam os novos paradigmas da análise forense a sistemas de ficheiros e demonstram a sua importância, permitindo aumentar gradualmente a complexidade do estudo de sistemas operativos. -
Métodos de Ensino
Métodos predominantes:
- Expositivo, recorrendo a exemplos das aulas teóricas. Os alunos são depois incentivados a desenvolver os seus trabalhos, com o acompanhamento do docente, que os ajudará a assimilar melhor a matéria.
- Ativo: orientação dos alunos no desenvolvimento autónomo de exercícios e trabalhos práticos ao longo da unidade curricular. -
Estágio(s)
Não
-
Programa
1. Introdução aos sistemas operativos
- Evolução histórica
- Estrutura e objetivos dum sistemas operativos - Panorâmica atual
2. Gestão de processos e threads
- Concorrência e pseudoparalelismo
- Comunicação entre processos e threads
- Técnicas de Multiprogramação e sincronismo - Escalonamento de processos
3. Gestão de memória
- Tipos de memória
- Memória virtual, paginação e segmentação
- Algoritmos de alocação de memória e páginas 4. Gestão de entradas/saídas
- Implementação interna
- Dispositivos de E/S, controladores e DMA
- Tratamento de interrupções -
Demonstração de conteúdos
-
-
Demonstração da metodologia
-
-
Docente(s) responsável(eis)
João Miguel Jones Ventura - 2.º Semestre
-
Bibliografia
Abraham Silberschatz, Greg Gagne, Peter B. Galvin; Operating System Concepts, 10th Edition, JohnWiley&Sons, 2021. ISBN: 978-1119800361
Andrew S. Tanenbaum, Herbert Bos; Modern Operating Systems, 5th Edition, Pearson, 2022. ISBN: 9780137618880
Detalhes do curso
-
Código
TPSIAC03
-
Modo de Ensino
PRESENCIAL
-
ECTS
6.0
-
Duração
Semestral
-
Horas
162h Teórico-Práticas
