
Fundamentos de Sistemas de Operação
Código
8146
Unidade Orgânica
Faculdade de Ciências e Tecnologia
Departamento
Departamento de Informática
Créditos
6.0
Professor responsável
José Alberto Cardoso e Cunha
Horas semanais
5
Total de horas
68
Língua de ensino
Português
Objectivos
Saber: - as funcionalidades dos sistemas de operação (SO), suas interfaces de utilização e programação; - as abstracções do SO para a execução de programas e gestão de recursos; - os princípios da programação concorrente e da coordenação de processos; - os princípios de concepção e de organização interna de um sistema de operação. Saber fazer: - Relacionar os aspectos teóricos e os aspectos práticos e melhorar a capacidade de realização de trabalhos práticos laboratoriais; - Utilizar o ambiente e as ferramentas de apoio ao desenvolvimento e gestão da execução de programas, ao nível das interfaces do sistema de operação, e com os modelos de programação ao nível das chamadas ao sistema de operação, envolvendo concorrência, comunicação e sincronização entre processos.
Pré-requisitos
Recomendadas as precedências seguintes do curso de Enhenharia Informática: Introducao aos Sistemas e Redes de Computadores; Introdução à Programação; Arquitectura de Computadores
Conteúdo
1. Introdução aos sistemas de operação (SO): tipos de SO, núcleo e serviços. 2. Processos e threads; multiprogramação, escalonamento e comutação de contextos. 3. Princípios da programação concorrente: traços de execução e atomicidade; coordenação: exclusão mútua, produtores e consumidores, leitores e escritores, clientes e servidores; sincronização: regiões críticas, condições, espera activa, bloqueio, locks, semáforos e monitores; comunicação: memória partilhada, pipes e mensagens em SO centralizados. 4. Ficheiros: organização e operações do sistema de ficheiros; memória secundária e terciária: características dos discos físicos e dispositivos amovíveis; princípios da gestão das entradas e saídas.. 5. Princípios das estratégias de gestão da memória e de processos: memória virtual; algoritmos de escalonamento; regulação da carga de multiprogramação. Laboratório: Programação ao nível das chamadas ao SO: ficheiros, composição e comunicação entre processos/threads.
Bibliografia
PRINCIPAL: *** Operating System Concepts - Essentials, A. Silberschatz, P. B. Galvin, G. Gagne, John Wiley & Sons, 2010. *** UNIX System Programming (2nd Edition), K. Haviland, D. Gray, B. Salama, Addison-Wesley, 1999; OU: *** UNIX Systems Programming (2nd Edition), K. A. Robbins, S. Robbins, Prentice-Hall/Pearson Education, 2003. COMPLEMENTAR: *** Sistemas Operativos, José A. Marques et al., FCA - Editora de Informática, 2009, ISBN 978-972-722-575-0; *** The C Programming Language, B. W. Kernighan, D. M. Ritchie, 2nd Edition, Prentice Hall, 1988
Método de ensino
O programa é desenvolvido através de sessões teóricas, sessões práticas laboratoriais para a resolução de problemas, estudo autónomo do aluno, trabalhos em grupo e sessões de contacto individual entre docentes e alunos.Os conceitos teóricos são apresentados e discutidos em sessões teóricas, que permitem a apresentação e enquadramento dos temas tratados, concentrando a atenção do aluno nos conceitos fundamentais, na sua aplicação e utilidade, bem como a forma como são concretizados a nível do sistema de operação. Os conceitos teóricos são ilustrados através da realização de um conjunto de trabalhos práticos, de natureza laboratorial, nos quais os alunos aplicam os conceitos teóricos para resolver os problemas propostos, sobre o ambiente laboratorial, exercitando os temas do programa. A avaliação assenta em testes presenciais individuais e em trabalhos laboratoriais ao longo do semestre, em grupos, havendo um relatório escrito por cada trabalho e sua discussão.
Método de avaliação
Trabalhos: são 2 trabalhos a realizar nas aulas práticas, por grupos de 2 alunos. Frequência na cadeira: para se obter frequência na cadeira e ter nota final é necessário ter pelo menos 9.5 na nota de um dos trabalhos práticos, T1 ou T2 (regra alterada a 27/11/2012, com a aprovação do Coordenador de curso). Todos os alunos se devem inscrever num turno prático, excepto os alunos que tenham obtido frequência em FSO em anos anteriores. Testes: # 1º teste: -- previsto na semana de 22 de Outubro (data a confirmar). # 2º teste: -- previsto na semana de 3 de Dezembro (data a confirmar) Nota FINAL: * Nota Final = 0.70*NT+0.30*NP em que NT é a parcela da avaliação por testes e NP é a parcela resultante da avaliação da componente prática laboratorial. * NT: obtida através de 2 testes, realizados ao longo do semestre: os testes são sem consulta e cobrem as matérias teórica e prática o A nota dos testes: NT = 0.5* NT1+0.5*NT2 (NT1 e NT2 são as notas dos testes). Se Nota Final = 0.70*NT+0.30*NP for >= 9.5 após os testes, tem aprovação. Se, tendo aprovação, decidir inscrever-se para Melhoria de Nota, na Rep. Académica, a sua componente de nota NT = Nota do Exame. A componente NP mantém-se. Se não obteve aprovação, após ter feito os testes, tem de fazer o exame. A componente NP mantém-se. * NP: o Práticas laboratoriais: realização de 2 trabalhos, grupos 2 alunos. A nota atribuída por trabalho depende do desempenho do aluno, da demonstração dos trabalhos práticos e dos relatórios entregues nos prazos definidos. Obtém-se a nota final da prática laboratorial NP final numa escala de 0 a 20 pela média aritmética ponderada das notas dos 2 trabalhos. o Frequência: é exigida para se obter uma nota final na disciplina; tem frequência quem satisfizer a seguinte condição: nota de pelo menos 9.5 num dos trabalhos práticos (T1 ou T2) (regra alterada a 27/11/2012) * Os alunos que obtiveram frequência na disciplina em anos anteriores mantêm a frequência na disciplina em 2012/13: a sua nota final na disciplina será Nota Final = NT. * Os alunos podem fazer Melhoria de nota através do regime oficial, com inscrição em Exame de Melhoria de Nota, pela Rep.Académica.
Adenda acrescentada a 26-20-2012: Para melhor esclarecimento dos alunos que farão exame em épocal especial, inclui-se esta nota que, para esses casos, aplica as mesmas regras como as acima definidas para os alunos que fizerem o exame de recurso. Assim: para fazer exame em epoca especial tem de ter tambem tido frequencia no ano em que se inscreva na epoca especial. Aplicam-se os mesmos casos que para os alunos que vao a exame de recurso, ou seja, se obtem frequencia no próprio ano em curso, pelos trabalhos, entao a nota final será calculada pela mesma formula, com 30% peso dos trabalhos e 70% do exame. Se já tinham obtido frequencia em ano anterior -. e nesse caso na edicao corrente de FSO, é-lhes considerada a frequencia tambem este ano, mas como não se mantém a nota dos trabalhos de anos anteriores, para estes alunos, se fizerem epoca especial este ano, a nota do exame será a nota final.