Código: | EEC0139 | Sigla: | SO |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Informática |
Ativa? | Sim |
Página Web: | http://web.fe.up.pt/~pfs/aulas/so2015/ |
Unidade Responsável: | Departamento de Engenharia Informática |
Curso/CE Responsável: | Mestrado Integrado em Engenharia Electrotécnica e de Computadores |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
MIEEC | 69 | Plano de estudos oficial | 3 | - | 6 | 56 | 162 |
1- Enquadramento
Os sistemas operativos são um componente essencial em praticamente qualquer sistema baseado em (micro)processadores. O conhecimento da sua organização e da sua implementação é essencial para conseguir um melhor aproveitamento dos recursos físicos desse tipo de sistemas. Este conhecimento é especialmente útil para o desenvolvimento de sistemas embebidos muito simples (tipicamente uma área do engenheiro eletrotécnico e de computadores) uma vez que este tipo de sistemas frequentemente não usam um sistema operativo completo, mas precisam de algumas das funcionalidades dum sistema operativo.
Adicionalmente, os sistemas operativos são inerentemente concorrentes, fornecendo um contexto concreto para o estudo dos problemas da concorrência, cada vez mais importantes dada a ubiquidade de processadores com múltiplos núcleos.
2- Objetivos específicos
Os objetivos desta UC são
3- Distribuição Percentual
Científica: 30%
Tecnológica: 70%
Os alunos que concluam com sucesso esta unidade curricular deverão ser capazes de:
Espera-se que os alunos:
Introdução aos sistemas operativos: conceitos, funções e interfaces. Arquitectura do SO. Núcleo ("kernel") do SO. Núcleos monolíticos e micro-núcleos. Gestão de processos. Modelo, escalonamento de processos e comunicação entre processos. API para gestão de processos. Concorrência: multiprogramação, sincronização e bloqueio mútuo. API POSIX para "threads" e respectivos mecanismos de sincronização. Gestão de entradas/saídas. Dispositivos, controladores, interrupções."Device drivers". Gestão de memória. Memória física e virtual. Paginação e segmentação. Sistema de ficheiros: abstrações e sua implementação. API para acesso a ficheiros. Segurança em sistemas operativos. Autenticação e autorização. Mecanismos de proteção e de confinamento.
As aulas teóricas são de exposição, apresentadas normalmente com auxílio de projector. Sempre que fôr adequado, exemplos que ajudem à compreensão dos tópicos serão apresentados. A matéria exposta segue de perto a contida na bibliografia principal. As aulas laboratoriais são de programação, quer para desenvolver pequenos programas que usam as chamadas ao sistema do SO quer para desenvolver o projecto.
Em finais de Abril os estudantes deverão realizar uma prova de programação consistindo na resolução de problemas semelhantes aos apresentados nas aulas laboratoriais. A prova é realizada num computador com acesso apenas à documentação existente nesse computador. A duração da prova é de 3 horas.
No final do semestre os estudantes deverão entregar um pequeno projeto de desenvolvimento dum "char device driver" simples para Linux.
O exame final, com duração prevista de 2 horas, incide não só sobre aspetos teóricos mas também sobre programação, incluindo o projeto.
Designação | Peso (%) |
---|---|
Exame | 50,00 |
Participação presencial | 10,00 |
Teste | 20,00 |
Trabalho laboratorial | 20,00 |
Total: | 100,00 |
Designação | Tempo (Horas) |
---|---|
Estudo autónomo | 76,00 |
Frequência das aulas | 56,00 |
Trabalho laboratorial | 30,00 |
Total: | 162,00 |
Não ultrapassagem do número limite de faltas e obtenção de um mínimo de 40% a cada uma das componentes da nota de frequência (teste e trabalho laboratorial) e de 45% na nota de frequência (média das classificações da prova de programação e do projecto).
0,5ET + 0,1 PA + 0,2 PP + 0,2 Pr
onde:
ET- Classificação do exame teórico (Exame)
PA- Classificação da participação nas aulas
PP- Classificação da prova de programação (Teste)
Pr- Classificação do projecto (Trabalho laboratorial)
Em épocas de exame especiais, os estudantes que não tenham obtido frequência terão que realizar um projeto, o qual terá que ser acordado o regente, e/ou uma prova de programação.
No caso dos estudantes com estatuto especial, porque dispensados da frequência das aulas práticas, os 10% da classificação de participação nas aulas serão igualmente distribuídos pela prova de programação e pelo projecto, os quais passam a ter um peso de 25% cada. A prova de programação é realizada juntamente com os restantes alunos. O projecto terá que ser apresentado na última semana de aulas, em local e data a acordar com o regente da disciplina.
A melhoria da classificação do exame teórico é realizada mediante submissão a outro exame teórico semelhante ao da época normal ( e com o mesmo peso) nas épocas previstas para o efeito.
As aulas poderão ser dadas em inglês se todos os alunos inscritos concordarem ou se algum dos alunos inscritos não falar Português.