-
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.
-
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