
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.