Arquitetura e Implementação de Sistemas de Operação (Operating Systems Design and Implementation)

Semester: 
Spring
Offered: 
2015

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

  1. Funções e organização interna do núcleo e serviços.
  2. Gestão de processos
  3. Gestão de memória
  4. Sistemas de ficheiros 
  5. Entradas e saídas
  6. Suporte hw/sw à virtualização.
  7. SOs para Multiprocessadores.
  8. 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

  1. Functions and internal organization of the OS kernel and services.
  2. Process Management.
  3. Main memory Management.
  4. File Systems.
  5. Input/output Systems.
  6. Hardware and Software support for virtualization.
  7. Multiprocessor OS.
  8. 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