-
Apresentação
Apresentação
Um sistema operativo (SO) fornece uma interface conveniente, eficiente e bem definida, entre as aplicações e o hardware. Os serviços que presta oferecem a funcionalidade básica de qualquer sistema de computadores, na qual se baseia o software aplicacional.
A aquisição de conhecimentos sólidos acerca do funcionamento dos SO é de extrema relevância para os estudantes na área da engenharia, que integrarão um mercado de trabalho em que o desenvolvimento e a utilização de sistemas de computadores têm, progressivamente, um papel fundamental.
Em particular, ao abordar a forma como funciona um SO, quais os seus principais componentes, como utilizar os seus recursos e serviços para desenvolver aplicações eficientes, e como selecionar um SO para uma aplicação particular, a UC de SO fornece metodologias e capacidades para pensar acerca de sistemas de computadores, que são de aplicação muito lata, mesmo para quem não abraça uma área de desenvolvimento.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Licenciado | Semestral | 6
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
3 | Obrigatório | Português
-
Código
Código
ULHT46-2-6305
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
- Introdução aos SO
- Objetivos e principais características
- Evolução histórica
- Arquitetura de um computador
- Diagrama de blocos típico
- Arquitetura de um SO
- Estrutura e componentes
- Noções de concorrência e pseudo-paralelismo
- Processos e threads
- Gestão de Processos
- Multiplexagem do CPU
- Escalonamento
- Interrupções
- Despacho
- Sincronização entre Processos
- Cooperação
- Dados partilhados
- Secções críticas
- Exclusão mútua
- Comunicação entre Processos
- Memória partilhada
- Caixas de correio
- Sockets
- Gestão de Memória
- Endereçamento Real
- Endereçamento Virtual
- Algoritmos
- Gestão de Entradas/saídas
- Hardware de E/S
- O sub-sistema de E/S
- Sistemas de Ficheiros
- Conceitos básicos
- Estrutura
- Métodos de alocação
- Dispositivos de armazenamento
- Proteção e Segurança
- Ameaças
- Prevenção
- Sistemas operativos para sistemas integrados
- Ambiente estático com recursos limitados
Em cada tópico abordado serão dados exemplos usando os SO de referência: Windows e Linux.
- Introdução aos SO
-
Objetivos
Objetivos
Após a conclusão desta UC o aluno deve:
- Entender o que é um sistema operativo e quais os seus objetivos;
- Perceber quis os principais desafios que se colocam na implementação de um sistema operativo e estar familiarizado com os mecanismos e algoritmos tipicamente utilizados;
- Perceber as limitações impostas pela utilização exclusiva das bibliotecas de funções, oferecidas pelas linguagens de programação;
- Ser capaz de programar aplicações que utilizem serviços oferecidos pelo sistema operativo Windows (sincronização, comunicação, gestão de memória, etc.);
- Perceber o que são aplicações multi-programadas e qual a sua importância, e ser capaz de resolver problemas básicos de concorrência;
- Estar familiarizado com a estrutura básica dos sistemas operativos de referência;
- Entender os requisitos de um sistema operativo para sistemas integrados e as diferenças que estes possuem de um sistema operativo tradicional do tipo desktop.
-
Metodologias de ensino e avaliação
Metodologias de ensino e avaliação
Nas aulas são incluídas análises interactivas aos algoritmos leccionados que permitem ao discente apreender melhor o seu funcionamento.
-
Bibliografia principal
Bibliografia principal
- Silberschatz, A., Galvin, P., e Gagne, G - Operating System Concepts. Ninth Edition, John Wiley and Sons, 2012. ISBN: 9781118063330.
- A. Tanenbaum, H. Bos - Modern Operating Systems. 4th Edition. Pearson, 2014. ISBN: 9780133591620
-
Horário de Atendimento
Horário de Atendimento
-
Mobilidade
Mobilidade
Não