Saltar para:
Logótipo
Você está em: Início > EIC0027

Sistemas Operativos

Código: EIC0027     Sigla: SOPE

Áreas Científicas
Classificação Área Científica
OFICIAL Sistemas Operativos e Redes

Ocorrência: 2017/2018 - 2S Ícone do Moodle

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática
Curso/CE Responsável: Mestrado Integrado 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
MIEIC 181 Plano de estudos a partir de 2009/10 2 - 6 56 162

Língua de trabalho

Português - Suitable for English-speaking students

Objetivos

Os objetivos principais desta unidade curricular são fornecer os conhecimentos fundamentais sobre:
O1- a estrutura e o funcionamento de um sistema operativo;
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 concreto (Unix/Linux).

Modo de trabalho

Presencial

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

Pré-requisitos: 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 S.O.
- Evolução dos sistemas operativos; estrutura dos S.O.'s modernos
- Abstrações suportadas por um S.O. e sua interface de programação
- Necessidades de suporte e de protecção de hardware
GESTÃO DE PROCESSOS
- Processos e "threads"; sua descrição; estados de um processo
- Estratégias de escalonamento
- Execução concorrente: problemas e soluções
- Mecanismos de sincronização entre processos
- Bloqueio mútuo
GESTÃO DE MEMÓRIA
- Gestão básica de memória.
- Sistemas de memória virtual: paginação e segmentação
- Implementação de memória virtual; estratégias de alocação/libertação de memória
SISTEMAS DE ENTRADA/SAÍDA
- Hardware e software de entrada/saída
- Abstracção das diferenças entre dispositivos.
SISTEMA DE FICHEIROS
- Interface do sistema de ficheiros
- Implementação do sistema de ficheiros; gestão do disco

Tema 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

Avi Silberschatz, Peter Baer Galvin, Greg Gagne; Operating System Concepts (8th edition), John Wiley & Sons, Inc., 2008. ISBN: ISBN 0-470-12872-0
Robbins, Kay A.; UNIX systems programming. ISBN: 0-13-042411-0
Miguel Pimenta Monteiro; O Sistema Operativo Unix - Alguns aspectos da sua API ((disponível na página da disciplina, no Moodle da FEUP))

Bibliografia Complementar

Andrew S. Tanenbaum; Modern operating systems. ISBN: 0-13-813459-6
William Stallings; Operating Systems: Internals and Design Principles, 6/E, Prentice Hall, 2008. ISBN: 0136006329
Richard W. Stevens, Stephen A. Rago; Advanced Programming in the UNIX Environment (2nd edition), Addison-Wesley Professional, 2005. ISBN: 0201433079
Stevens, W. Richard; Unix network programming. ISBN: 0-13-081-081-9
José Alves Marques, Paulo Ferreira, Carlos Ribeiro, Luís Veiga, Rodrigo Rodrigues; Sistemas Operativos, FCA, 2009. ISBN: 978-972-722-575-0

Métodos de ensino e atividades de aprendizagem

- Aulas teóricas: exposição e discussão das matérias do programa, com apresentação e encaminhamento da resolução de pequenos exercícios ilustrativos.
- Aulas teórico-práticas: resolução de exercícios de programação envolvendo a utilização da API do 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 dois trabalhos práticos, envolvendo a utilização da API.

 

Software

Sistema de desenvolvimento em C
Sistema operativo LINUX

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Exame 50,00
Teste 20,00
Trabalho laboratorial 30,00
Total: 100,00

Componentes de Ocupação

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

Obtenção de frequência

Condições para obtenção de frequência: não exceder o limite de faltas estabelecido nas normas e obter uma classificação mínima de 40% na avaliação distribuída e uma classificação mínima de 30% no mini-teste.

Classificação de frequência(CF) = 0.4*MT + 0.6*TP, em que MT="classificação do mini-teste" e TP="classificação do trabalho prático".

Os alunos que obtiveram frequência no ano letivo anterior, podem optar por manter a nota obtida, ficando dispensados das aulas e dos trabalhos práticos; devem, neste caso, informar o docente responsável pela U.C., durante a primeira semana de aulas, e não devem inscrever-se nas turmas.

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

A classificação final é dada pela fórmula: Cfinal = 0.5*CF + 0.5*CE onde CF e CE representam, respetivamente, a classificação de frequência e a classificação do exame escrito.

A classificação final não pode exceder em mais de 4 valores a classificação do exame arredondada para o inteiro mais próximo.

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

O mini-teste e o trabalho prático são obrigatórios para todos os estudantes, mesmo para os que estão dispensados de frequência às aulas. Os estudantes dispensados de frequência às aulas devem contactar o docente responsável para a marcação de sessões de acompanhamento dos seus trabalhos. A defesa dos trabalhos práticos é obrigatória para todos os estudantes.

Melhoria de classificação

A melhoria da classificação obtida nesta ocorrência da unidade curricular pode ser feita da seguinte forma:
- A classificação do miniteste pode ser melhorada nos exames desta edição da unidade curricular, sendo a classificação atribuída ao mini-teste igual à classificação obtida no exame.
- A classificação do trabalho prático pode ser melhorada na edição seguinte da unidade curricular.
- A classificação do exame pode ser melhorada nas épocas legalmente previstas.

A melhoria da classificação obtida no ano letivo anterior pode ser feita da seguinte forma:
-  A classificação da componente distribuída pode ser melhorada realizando o mini-teste e o trabalho prático, nas datas previstas para os restantes estudantes;
-  A classificação do exame pode ser melhorada nas épocas legalmente previstas.

Recomendar Página Voltar ao Topo
Copyright 1996-2024 © 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: 2024-07-22 às 18:28:21 | Política de Utilização Aceitável | Política de Proteção de Dados Pessoais | Denúncias