Sistemas Operativos

Código: EIC0027     Sigla: SOPE

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

Ocorrência: 2012/2013 - 2S

Ativa? Sim
Unidade Responsável: Departamento de Engenharia Informática

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contato Horas Totais
MIEIC 163 Plano de estudos a partir de 2009/10 2 - 6 56 162

Docência - Horas

Teóricas: 2,00
Teórico-Práticas: 2,00
Tipo Docente Turmas Horas
Teóricas Totais 1 2,00
Jorge Alves da Silva 2,00
Teórico-Práticas Totais 6 12,00
António Miguel Pontes Pimenta Monteiro 4,00
José Manuel de Magalhães Cruz 4,00
Jorge Alves da Silva 2,00
João Isidro Araújo Vila Verde 2,00
Mais informaçõesA ficha foi alterada no dia 2013-02-13.

Campos alterados: Resultados de aprendizagem e competências, Componentes de Avaliação e Ocupação, Métodos de ensino e atividades de aprendizagem

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

Descrição Tipo Tempo (Horas) Data Conclusão
Participação presencial Participação presencial 56,00 2013-06-05
Trabalhos práticos Trabalho laboratorial 26,00 2013-06-05
Exame escrito Exame 2,00 2013-07-17
Total: 84,00

Componentes de Ocupação

Descrição Tipo Tempo (Horas) Data Conclusão
Estudo da teoria e da API Estudo autónomo 30 2013-06-05
Exercícios Estudo autónomo 32 2013-06-05
Preparação para exame Estudo autónomo 16 2013-07-17
Total: 78

Obtenção de frequência

Não exceder o limite de faltas estabelecido nas Normas e obter uma classificação mínima de 40% em cada um dos trabalhos práticos.


A classificação de frequência (Cfreq) é dada pela seguinte fórmula: Cfreq = 0,5*Ctp1 + 0,5*Ctp2 , onde Ctp1 e Ctp2 representam as classificações obtidas em cada um dos trabalhos práticos.


Apesar de os trabalhos práticos serem efectuados em grupo, membros do mesmo grupo poderão ter classificação diferente, dependendo do seu desempenho durante a apresentação e discussão do trabalho.


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; para isso, deverão manifestar a sua intenção ao regente da disciplina, até ao final da 2.a semana de aulas.

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

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


É condição necessária para aprovação a obtenção de uma classificação mínima de 40% em qualquer uma das componentes.

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

Os alunos com estatuto especial, embora possam estar dispensados da frequência das aulas práticas, estão sujeitos às mesmas condições de avaliação dos alunos regulares, isto é, devem realizar e submeter os trabalhos práticos e fazer um exame escrito. Recomenda-se que, na medida do possível os trabalhos sejam realizados e entregues nas datas estabelecidas para os restantes alunos.

Melhoria de classificação final/distribuída

A nota de frequência pode ser melhorada na ocorrência seguinte desta unidade curricular. A nota do exame escrito pode ser melhorada nas épocas legalmente previstas.

Observações

Os trabalhos práticos são efetuados por grupos de dois ou, excepcionalmente, de três alunos.

Recomendar PáginaRecomendar Voltar ao TopoVoltar ao Topo
Copyright 1996-2013 © 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: 2013-02-15 às 19:33:05