Contacto WhatsApp 963640100

Universidade Lusófona

Sistemas Operativos

Curso

Informática de Gestão

Grau|Semestres|ECTS

Licenciatura | Semestral | 6

Ano | Tipo de unidade curricular | Lingua

2 |Obrigatório |Português

Total de horas de Trabalho | Tempo de Contacto (horas)

168 | 60

Código

ULHT12-6305

Disciplinas complementares recomendadas

Não aplicável

Pré-requisitos e co-requisitos

Não aplicável

Precedências

Não

Estágio profissional

Não

Conteúdos Programáticos

1. Introdução
Conceitos, Funcionalidades e Arquitectura
2. Serviços do S.O.
Interface Utilizador
Interfaces de Programação
Gestão de Excepções
Chamadas ao Sistema
2. Gestão de Processos
Noção de Processo
Estruturas, Operações e Estados
Comunicação entre Processos
3. Threads
Modelos de multithreading
Repercussões no Sistema Operativo
Bibliotecas de Threads: conceitos e utilização
4. Escalonamento do CPU
Algoritmos
Escalonamento multiprocessador
Escalonamento de threads
Avaliação de Algoritmos
5. Sincronização de Processos
Secções Críticas
Instruções de Sincronização
Semáforos
Monitores
Problemas de Sincronização
6. Gestão Memória
Algoritmos de alocação
Paginação
Segmentação
Swapping
Memória Virtual

Objetivos

O objectivo desta UC é o de apresentar os princípios fundamentais dos Sistemas Operativos, de forma a permitir uma compreensão detalhada da sua arquitectura e funcionamento, dando aos alunos os conhecimentos e capacidades para utilizar, configurar e optimizar este componente fundamental dos sistemas informáticos.
No final da cadeira, os alunos deverão:
- Conhecer os princípios dos Sistemas Operativos actuais e identificar os vários componentes que o constituem.
- Conhecer os algoritmos fundamentais em que assentam os principais componentes de um Sistema Operativo assim como as suas optimizações mais actuais.
- Programar exemplos ilustrativos de alguns algoritmos mais representativos (escalonador, sistema de ficheiros, etc..)
- Tirar partido da utilização directa das interfaces sistema para o desenvolvimento e optimização de aplicações complexas.
- Saber configurar e modificar funcionalidades e componentes do sistema Linux, e adaptá-lo a vários tipos de utilizações e plataformas.

Metodologias de ensino e avaliação

A aprendizagem é baseada em Aulas Teóricas e Práticas Laboratoriais, onde os alunos têm oportunidade de adquirir uma experiência aprofundada e directa dos principais temas abordados na cadeira, através da realização trabalhos e projectos centrados na implementação de funcionalidades essenciais dos Sistemas Operativos. O ensino é ilustrado por exemplos extraídos de alguns dos sistemas mais utilizados (Unix, Windows, ...).
A avaliação é realizada de forma contínua e constituída por testes teóricos (50%) e entrega de trabalhos e projectos (50%) ao longo do semestre. A aprovação na cadeira é obtida com uma nota mínima de 10 valores da média das duas componentes teórica e prática.

Bibliografia principal

Referência Principal / Main Reference:
-Operating Systems: Internals and Design Principles¿ (8th Edition), de William Stallings, Ed. Prentice Hall, 2014, ISBN-13: 978-0133805918.

Referências Adicionais / Addtional References
-Modern Operating Systems¿, 4th Edition, 2014. de A: Tanenbaum, Ed Ed. Prentice Hall, ISBN-13: 978-0133591620

-Operating Systems Concepts¿ (9th Edition), Abraham Silberchatz, et. al., Ed. Wiley & Sons, 2012; ISBN-13 9781118063330.

"Windows Internals" (6th Edition), M. Russinovich, D. Solomon, A. Ionescu, 2012, Ed. Microsoft Press, ISBN-10: 0735648735

"Sistemas Operativos", J. Marques, P. Ferreira, et al., Ed. FCA, 2009, ISBN:978-972-722-575-0.

"Linux Kernel Development" (3rd Edition) Robert Love, Ed. Addison Wesley, 2010; ISBN: 0672329468.