Sistemas de Operação
Áreas Científicas |
Classificação |
Área Científica |
OFICIAL |
Ciência de Computadores |
Ocorrência: 2024/2025 - 2S
Ciclos de Estudo/Cursos
Docência - Responsabilidades
Língua de trabalho
Português - Suitable for English-speaking students
Objetivos
Fornecer aos alunos os conceitos fundamentais da teoria e prática da organização e funcionamento de um sistema de operação.
Ser capaz de implementar partes de um sistema de operação e de escrever programas utilizando a API de um sistema de operação.
Resultados de aprendizagem e competências
Ao concluir esta disciplina o estudante deverá:
- Conhecer o histórico de sistemas de operação (como surgiram e porquê);
- Conhecer o funcionamento básico e detalhado de um sistema de operação;
- Conhecer os mecanismos de interface entre o sistema de operação e o hardware;
- Conhecer diferentes tipos de sistemas de operação e sua estrutura;
- Conhecer a interface de programação de um sistema de operação;
- Ser capaz de escrever programas utilizando a linguagem de interface de um sistema de operação;
- Ser capaz de implementar partes de um sistema de operação.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
É aconselhável ter conhecimentos básicos de programação, estruturas de dados e algoritmos; familiaridade com a linguagem C.
Programa
Conceitos Básicos
Organização, estrutura e funcionalidades típicas de um sistema de operação. Principais componentes e serviços de um sistema de operação. Tipos de sistemas de operação.
Processos
Noção de processo. Criação e terminação de processos. Escalonamento de processos. Escalonamento preemptivo versus não-preemptivo. Critérios de escalonamento. Algoritmos de escalonamento. Memória partilhada, pipes e sockets.
Gestão de Memória e Memória Virtual
Espaço de endereçamento lógico e físico. Alocação contígua de memória. Fragmentação interna versus externa. Segmentação. Paginação. Espaço de endereçamento virtual. Algoritmos de substituição de páginas. Modelos de alocação de frames.
Sistema de Ficheiros e Dispositivos de Armazenamento
Organização, estrutura e camadas de um sistema de ficheiros. Ficheiros. Estrutura e hierarquia de diretórios. Alocação de espaço em disco. Gestão de espaço livre.
Gestão de dispositivos de I/O. Device drivers. Porta, bus e controlador de dispositivo. Polling e I/O baseado em interrupts. Gestão de interrupts pelo kernel. Direct Memory Access (DMA).
Bibliografia Obrigatória
Silberschatz Abraham;
Operating system concepts. ISBN: 978-0-470-23399-3
R. Stevens, S. Rago; Advanced Programming in the UNIX Environment, Addison-Wesley, 2005. ISBN: 978-0201433074
Métodos de ensino e atividades de aprendizagem
As aulas teóricas são para exposição e discussão dos conceitos fundamentais da teoria e prática da organização e funcionamento de um sistema de operação.
As aulas práticas destinam-se à resolução de problemas ilustrativos dos conceitos expostos nas aulas teóricas.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Exame |
60,00 |
Trabalho prático ou de projeto |
10,00 |
Teste |
30,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Estudo autónomo |
114,00 |
Frequência das aulas |
48,00 |
Total: |
162,00 |
Obtenção de frequência
nota em teste prático >= 30%
Fórmula de cálculo da classificação final
Exame Final - EX
Teste Prático - TP
[o teste prático é realizado em computador; os exercícios são de programação e relativos ao material apresentado nas aulas práticas]
Mini Testes
[Estes 6 testes (∼ 1 a cada 2 semanas) são de escolha múltipla com um máximo de 10 perguntas, e são feitos no Moodle fora do tempo de aulas. A nota nesta componente é a média dos 5 melhores testes (MM5T).]
Assumindo notas de 0 - 20 para cada componente, a nota final é dada por:
Nota Final = 0.6*EX + 0.3*TP + 0.1*MM5T
Provas e trabalhos especiais
Mini Testes
[Estes 6 testes (∼ 1 a cada 2 semanas) são de escolha múltipla com um máximo de 10 perguntas, e são feitos no Moodle fora do tempo de aulas.]
Melhoria de classificação
Contactar o docente.