Português
Descrição Geral
A unidade curricular de Arquitetura e Implementação de Sistemas de Operação está enquadrada no curso de Mestrado em Engenharia Informática e é de frequência opcional. Os objetivos genéricos desta unidade curricular incluem saber quais os componentes principais de um sistema de operação, compreender como estes se inter-relacionam, compreender como são geridos e escalonados processos e threads, compreender como são geridas as várias unidades de memória (principal e secundária), compreender como é suportada a virtualização de memória e, por fim, as abstrações de ficheiro e directoria.
Objectivos
A disciplina visa desenvolver nos alunos um conhecimento aprofundado sobre os Sistemas de Operação (SO), nos seus aspetos de concepção e organização interna, bem como nas técnicas e algoritmos utilizados na sua implementação.
Saber:
- Concepção e organização interna, técnicas e algoritmos para a implementação de SO, nas seguintes dimensões:
- gestão de recursos (processador, memória e periféricos);
- sistemas de ficheiros;
- processos e threads, mecanismos de proteção;
- suporte da virtualização, multiprocessamento e de sistemas específicos embutidos e de tempo real.
Saber Fazer:
- Identificar os compromissos de realização do núcleo e serviços do SO e estimar os seus comportamentos, face a requisitos específicos.
- Implementar módulos internos do SO e lidar com a sua complexidade.
- Avaliar experimentalmente diferentes sistemas dependendo das soluções arquitetónicas e algoritmos utilizados.
Programa
- Funções e organização interna do núcleo e serviços.
- Gestão de processos
- Gestão de memória
- Sistemas de ficheiros
- Entradas e saídas
- Suporte hw/sw à virtualização.
- SOs para Multiprocessadores.
- SOs para sistemas embutidos
Bibliografia
- Referência principal
- T. Andersson, M. Dahlin, Operating Systems: Principles and Practice, 2012, Recursive Books
- Referências complementares:
- Avi Silberschatz, Peter Baer Galvin, Greg Gagne,Operating System Concepts, John Wiley & Sons, Inc.
- Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems, Prentice Hall
- Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau, Operating Systems: Three Easy Pieces, 2013, http://pages.cs.wisc.edu/~remzi/OSTEP/
- Página da cadeira no CLIP
- Slides, Textos auxiliares, Exercícios para as aulas práticas e para avaliação
English
Overall Description
Objectives
This course aims at providing the students with an in-depth knowledge on the Operating System (OS) internal organization, and the techniques and algorithms used in its implementation.
Knowledge:
- Issues in the design and organization of OS, and the techniques and algorithms for implementing OS, including:
- resource management (processors, memory and input/output devices);
- file systems;
- processes and threads, protection mechanisms;
- OS support for virtualization, multiprocessing and embedded systems.
Application:
- Identify the trade-offs in the design and implementation of OS kernel and services, and how to estimate their expected behaviour under specific requirements.
- Ability to implement/modify internal OS modules and handle their complexity.
- Ability to experimentally evaluate distinct systems, depending on their internal organizations and strategies
Program
- Functions and internal organization of the OS kernel and services.
- Process Management.
- Main memory Management.
- File Systems.
- Input/output Systems.
- Hardware and Software support for virtualization.
- Multiprocessor OS.
- OS for embedded systems
Bibliography
- Main reference
- T. Andersson, M. Dahlin, Operating Systems: Principles and Practice, 2012, Recursive Books
- Alternative references:
- Avi Silberschatz, Peter Baer Galvin, Greg Gagne,Operating System Concepts, John Wiley & Sons, Inc.
- Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems, Prentice Hall
- Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau, Operating Systems: Three Easy Pieces, 2013, http://pages.cs.wisc.edu/~remzi/OSTEP/
- Course page @ CLIP
- Slides, tutorials, class and take home programming assignments