Sistemas Operativos

Conhecimentos de Base Recomendados

Nada a assinalar.

Métodos de Ensino

1 – Aulas teóricas: Exposição de conceitos fundamentais e de técnicas de análise e projeto, que permitam adquirir competências essenciais para as aulas práticas. Compreensão dos conceitos base sobre os sistemas operativos e no relacionamento deste conceitos com a experiência e outros conteúdos abordados no curso.

2 – Aulas práticas: Existe uma elevada componente de trabalhos práticos, dada a natureza do curso e de forma a aumentar o grau de participação dos alunos, incentivando-os à participação na construção do seu conhecimento.

Resultados de Aprendizagem

Apresentar os fundamentos dos Sistemas Operativos e relacioná-los, por um lado com a experiência do aluno, e por outro com outros conteúdos abordados no curso. Com a componente prática pretende-se que o aluno utilize a linha de comandos de um sistema operativo Unix e a desenvolva programas, ao nível do sistema, usando os mecanismos do sistema operativo, tendo em conta os modelos de programação sequencial e concorrente.

Programa

  1. Fundamentos de sistemas operativos. Objectivos e componentes do sistema. Gestão da máquina, de Processos e de Utilizadores. Níveis de privilégios.
  2. Fundamentos sobre sistemas operativos Unix/Linux: Arquitectura. Componentes.
  3. Sistema de ficheiros Unix. Permissões e segurança. Gestão de utilizadores. Ficheiros de configuração.
  4. Instalação e configuração de sistemas Unix/Linux. Utilização Unix/Linux em linha de comandos. Comandos para: manipulação e gestão de ficheiros, manipulação e extração de informação em ficheiros de texto. Redireccionamento. Comandos para gestão da máquina e para gestão de utilizadores. Configuração do ambiente de trabalho em linha de comandos.
  5. Programação em Bash Script. Automação de tarefas em Unix através de Bash Script.
  6. Escalonamento. Gestão do processador. Algoritmos de escalonamento.
  7. Programação em C para ambiente Unix: Gestão de processos. Sinais. Ficheiros. Redireccionamento.

Métodos de Avaliação

No cálculo da nota final, considera-se que a avaliação contínua possui um peso 100%.

Para obter aprovação à disciplina, os alunos deverão obter a nota final mínima de 47.5%.

O processo de recolha de informação utilizado, de modo contínuo e sistemático, para efeitos de avaliação, consiste na observação direta do trabalho realizado, em sala de aula pelos/as alunos/as, a partir das tarefas, atividades e fichas de trabalho propostas, assim como do refletido no portefólio digital a elaborar pelos/as alunos/as.

O trabalho desenvolvido em sala de aula tem um peso de 20%, o portefólio digital tem um peso de 40% e o trabalho/projeto final individual (que contempla apresentação e defesa) um peso de 40%.

Toda a informação observada e recolhida, a partir dos diferentes instrumentos e processos, concorre para efeitos de avaliação de competências.


    Estágio(s)

    NAO

    Bibliografia

    Galvin, P. B., Gagne, G., & Silberschatz, A. (2009). Operating systems concepts (8th ed.). Wiley & Sons.
    Lashkari, A. H., & Moradhaseli, M. (2011). Mobile operating systems and programming: Mobile communications. VDM Verlag Dr. Müller.
    Love, R. (2013). Linux system programming (2nd ed.). O’Reilly & Media Inc.
    Mano, M., & Kime, C. (2015). Logic and computer design fundamentals (5th ed.). Prentice Hall.
    Marques, J. A., Ferreira, P., Ribeiro, C., Veiga, L., & Rodrigues, R. (2012). Sistemas operativos (2nd ed.). FCA.
    Marques, J. A., & Guedes, P. (1998). Fundamentos de sistemas operativos (4ª ed.). Editorial Presença.
    Morris Mano, M., & Kime, C. (2015). Logic and computer design fundamentals (5th ed.). Prentice Hall.
    Portnoy, M. (2016). Virtualization essentials (2nd ed.). Sybex.
    Robbins, K. A., & Robbins, S. (2015). UNIX systems programming: Communication, concurrency, and threads (2nd ed.). Pearson.
    Rubini, A., & Corbet, J. (2005). Linux device drivers (3rd ed.). O’Reilly & Associates. https://lwn.net/Kernel/LDD3/
    Silberschatz, A., Gagne, G., & Galvin, P. B. (2018). Operating system concepts (10th ed.). John Wiley & Sons.
    Stallings, W. (2017). Operating systems: Internals and design principles (9th ed.). Pearson.
    Tanenbaum, A. S., & Austin, T. (2012). Structured computer organization (6th ed.). Pearson.
    Tanenbaum, A. S., & Bos, H. (2014). Modern operating systems (4th ed.). Pearson Prentice-Hall.
    Tanenbaum, S., & Boss, H. (2014). Modern operating systems (4th ed.). Pearson.
    Wirzenius, L. (2021). The Linux system administrators’ guide. The Linux Documentation Project. https://tldp.org/