Faculdade de Ciências e Tecnologia

Arquitetura e Implementação de Sistemas de Operação

Código

11162

Unidade Orgânica

Faculdade de Ciências e Tecnologia

Departamento

Departamento de Informática

Créditos

6.0

Professor responsável

Hervé Miguel Cordeiro Paulino, Pedro Abílio Duarte de Medeiros

Horas semanais

4

Total de horas

58

Língua de ensino

Português

Objectivos

A disciplina visa desenvolver nos alunos um conhecimento aprofundado sobre os Sistemas de Operação (SO), nos seus aspetos de conceção e organização interna, bem como nas técnicas e algoritmos utilizados na sua implementação.

Saber:

  • Conceçã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 requesitos 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

Pré-requisitos

Aprovação em cadeiras de nível do 1º ciclo em Arquitetura de Computadores e Sistemas Operativos.

Conteúdo

1. Introdução

- Funções e organização interna do núcleo e serviços.

2. Gestão de processos

- Estratégias e mecanismos de gestão de processos/threads.

- Interação entre processos/threads. Partilha de recursos

- Escalonamento com multiprogramação e multiprocessamento. Requesitos de tempo real

3. Gestão de memória

- Hierarquia de memórias. Memória virtual: swapping, paginação e segmentação.

- Estratégias e algoritmos. Paginação a pedido, working sets e trashing, proteção e partilha

- Mapeamento de ficheiros em memória.

4. Sistemas de ficheiros e entradas/saídas

- Gestão de meta-dados, de dados e do espaço livre/ocupado.

- Disponibilidade, verificação e recuperação.

- Suportes físicos alternativos.

- Entradas e saídas: estratégias e mecanismos. Device drivers.

- Análise de sistemas reais

5. Virtualização, multiprocessamento e SO dedicados

- Suporte hw/sw à virtualização.

- Multiprocessadores. Single system image.

- SO embutidos: restrições de memória, tempo e energia

 

Bibliografia

  • Referência principal
    • T. Andersson, M. Dahlin, Operating Systems: Principles and Practice, 2012, Recursive Books
  • Referência complementar:
    • 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

Método de ensino

A metodologia de ensino da disciplina inclui aulas teóricas e elaboração de projetos com acompanhamento parcial em aulas práticas laboratoriais.

As aulas teóricas motivam para o estudo dos componentes arquiteturais do SO, identificam os seus objetivos e problemas, e apresentam algoritmos e técnicas utilizadas para os endereçar.

As aulas práticas proporcionam tempo de contato privilegiado com os docentes da disciplina, informam sobre os detalhes dos projetos a realizar, apoiam os alunos na sua adaptação ao ambiente HW e SW utilizado, disponibilizando também algum tempo para realização dos projetos

Componentes de avaliação:

1. Testes individuais ou exame final (50 %).

2. Projetos de programação a desenvolver em grupo, incluindo relatórios escrito (50 %).

Método de avaliação

  • Cálculo da nota da avaliação contínua  (estudantes sem frequência em anos anteriores)
    • 50% da componente teórico-prática: obtida em dois testes individuais com peso igual
    • 50% da componente laboratorial: obtida em três trabalhos práticos com peso igual
  • Cálculo da nota da avaliação contínua  (estudantes com frequência em anos anteriores)
    • 100 % da componente teórico-prática: obtida em dois testes individuais com peso igual
  • Avaliação dos projectos
    • [75%] funcionalidade
    • [12.5%] testes  
    • [12.5%] relatório

Para obter frequência um estudante deve obter uma nota na componente laboratorial  de pelo menos 9.5 valores.

Cursos