Skip to main content

IPLUSO 6305

Sistemas Operativos

Engenharia Informática e Aplicações (L) (IPLUSO)
  • ApresentaçãoPresentation
    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.
  • ProgramaProgramme
     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.
  • ObjectivosObjectives
    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.
  • BibliografiaBibliography
    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  
  • MetodologiaMethodology
    Nas aulas são incluídas análises interactivas aos algoritmos leccionados que permitem ao discente apreender melhor o seu funcionamento.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Obrigatório
  • EstágioInternship
    Não