Saltar para:
Logótipo
Você está em: Início > L.EIC015

Sistemas Operativos

Código: L.EIC015     Sigla: SO

Áreas Científicas
Classificação Área Científica
OFICIAL Engenharia Informática e Computação

Ocorrência: 2023/2024 - 1S Ícone do Moodle

Ativa? Sim
Página Web: https://moodle.up.pt/course/view.php?id=1639
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Licenciatura em Engenharia Informática e Computação

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
L.EIC 348 Plano Oficial 2 - 6 52 162
Mais informaçõesA ficha foi alterada no dia 2025-01-20.

Campos alterados: Software de apoio à Unidade Curricular, Bibliografia Obrigatória, Componentes de Avaliação e Ocupação

Língua de trabalho

Português - Suitable for English-speaking students
Obs.: Os materiais de estudo estão disponíveis em Inglês e as aulas são leccionadas em Português

Objetivos

Os objetivos principais desta unidade curricular são fornecer os conhecimentos fundamentais sobre:
O1- a estrutura e o funcionamento de um sistema operativo genérico;
O2- a utilização da interface de programação (API) de um sistema operativo real.

Resultados de aprendizagem e competências

Os estudantes que concluirem com sucesso esta unidade curricular, deverão ser capazes de:
OA1- descrever as funções e a estrutura geral de um sistema operativo, e identificar as abstracções principais que ele fornece;
OA2- descrever o funcionamento dos componentes essenciais de um sistema operativo, a forma como esses componentes interagem entre si e os algoritmos fundamentais usados na sua implementação;
OA3- desenvolver programas que usem e explorem a API de um sistema operativo tipo-Unix.

Modo de trabalho

B-learning

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

São pré-requisitos o conhecimento e prática de programação em linguagem C. É conveniente a frequência com aproveitamento da unidade curricular de Programação.

Programa

INTRODUÇÃO AOS SISTEMAS OPERATIVOS
- Objetivos e funções de um Sistema Operativo
- Arranque do Sistema Operativo
- Interface de comando: Shell
- Abstrações suportadas, chamadas de sistema e sua interface de programação
GESTÃO DE PROCESSOS
- Processos, ciclo de vida
- Escalonamento
- Comunicação entre processos: Sinais, mmap, pipes / sockets unix
THREADS E PROGRAMAÇÂO CONCORRENTE
- Threads, ciclo de vida
- Mecanismos de exclusão mútua: Peterson, test & set
- Locks, semáforos e variáveis de condição 
- Ordem de obtenção de locks e locking em duas fases.
- Estruturas de dados concorrentes: Filas, Barreiras, Registos leitor/escritor.
GESTÃO DE MEMÓRIA
- Hierarquia de memória
- Gestão básica de memória física
- Memória virtual
- Modelo de memória dos processos
- Segmentação e paginação
- Suporte ao nível do hardware
SISTEMA DE FICHEIROS
- Dispositivos de armazenamento de informação
- Partições, volumes, swap
- Sistemas de ficheiros
- Interface do sistema operativo e implementação
- Estruturas de dados auxiliares e gestão do espaço nas partições
SISTEMAS DE ENTRADA/SAÍDA
- Tipos de dispositivo de I/O e requisitos de largura de banda
- Interrupções e gestão de interrupções
- Controladores de dispositivos, devices drivers
- o directório /dev do UNIX

Tema prático complementar (coberto ao longo da unidade curricular):
PROGRAMAÇÃO DE SISTEMA (utilização da API do UNIX/LINUX)
- Manipulação de ficheiros e directórios
- Criação e gestão de processos e "threads"
- Intercomunicação entre processos: sinais, "pipes", FIFOs, e memória partilhada
- Sincronização entre processos e "threads": semáforos, mutexes e variáveis de condição

Bibliografia Obrigatória

Abraham Silberschatz, Peter Baer Galvin, Greg Gagne; Operating system concepts, Hoboken : Wiley, 2019

Métodos de ensino e atividades de aprendizagem

- Aulas teóricas: exposição e discussão das matérias do programa.
- Aulas teórico-práticas: resolução de exercícios de programação envolvendo a utilização da API de Unix/Linux.
- Auto-aprendizagem: estudo das matérias, recorrendo à bibliografia e ao material disponibilizado na página Web da unidade curricular; resolução de exercícios e realização de trabalho prático, envolvendo a utilização da API.

 

Software

C Development Environment
Linux Operating System

Tipo de avaliação

Avaliação distribuída sem exame final

Componentes de Avaliação

Designação Peso (%)
Teste 100,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Estudo autónomo 52,00
Frequência das aulas 52,00
Trabalho laboratorial 58,00
Total: 162,00

Obtenção de frequência

A avaliação é "distribuída sem exame final" e tem as seguintes componentes:

- Dois testes (T1 e T2, avaliados para 10 valores cada) cada um cobrindo sensivelmente metade da matéria teórica e exercicios das aulas TP. 

Para obter frequência à UC, o aluno deve conseguir uma nota de pelo menos 50% no conjunto das componentes TP dos testes. 


Para os alunos com frequência a nota final é dada pela espressão: Final = T1 + T2 


O exame de recurso cobre a totalidade da matéria




Fórmula de cálculo da classificação final

Assumindo que o aluno tem frequência, a nota final (Final) é obtida pela expressão:

   Final =  T1 + T2

em que T1 e T2 são avaliados para 10 valores cada.

O exame de recurso cobre a totalidade da matéria


Avaliação especial (TE, DA, ...)

Os estudantes inscritos ao abrigo de regimes especiais sem frequência de aulas práticas estão sujeitos às mesmas condições de avaliação dos alunos regulares, excepto que estão dispensados de frequentar as aulas práticas. 


Melhoria de classificação

A nota pode ser melhorada nas épocas legalmente previstas, cobrindo a totalidade da matéria (T1 e T2)

Observações

Muito importante: os casos de conduta académica desonesta serão apresentados ao Director do Curso.
Recomendar Página Voltar ao Topo
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Termos e Condições  I Acessibilidade  I Índice A-Z  I Livro de Visitas
Página gerada em: 2025-06-15 às 23:37:15 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias