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
- Fundamentos de sistemas operativos. Objectivos e componentes do sistema. Gestão da máquina, de Processos e de Utilizadores. Níveis de privilégios.
- Fundamentos sobre sistemas operativos Unix/Linux: Arquitectura. Componentes.
- Sistema de ficheiros Unix. Permissões e segurança. Gestão de utilizadores. Ficheiros de configuração.
- 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.
- Programação em Bash Script. Automação de tarefas em Unix através de Bash Script.
- Escalonamento. Gestão do processador. Algoritmos de escalonamento.
- 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/