Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
L0726
Acrónimo :
L0726
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Português,Inglês

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
18.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Arquitectura de Computadores e Sistemas Operativos

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2021/2022

Pré-requisitos / Pre-Requisites


Nenhuns, embora se assuma que os alunos tenham bons conhecimentos de algoritmia e estrutura de dados e conhecimentos em pelo menos uma linguagem de programação de alto nível (e.g., Java, C++, JavaScript)

Objetivos Gerais / Objectives


Apresentar os fundamentos dos Sistemas Operativos e relacioná-los, por um lado com a experiência do aluno, e por outro com matérias dadas noutras disciplinas. A componente prática laboratorial habilitará o aluno utilizar a linha de comandos de um sistema operativo Unix-like e a desenvolver programas, ao nível do sistema, usando os mecanismos do sistema operativo, tendo em conta os modelos de programação sequencial e concorrente.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


OA1: Distinguir tipos, funções e características de sistemas operativos (SO) OA2: Descrever aspetos de gestão de processos e algoritmos relacionados OA3: Descrever os vários mecanismos de comunicação e sincronização entre processos OA4: Descrever formas de gestão de memória em sistemas multi-programados e comparar os algoritmos associados. Explicar os métodos de gestão de memória virtual OA5: Descrever os princípios e as formas de acesso e utilização aos dispositivos de entrada/saída OA6: Explicar os aspetos de implementação de sistemas de ficheiros mais comuns OA7: Identificar os mecanismos de segurança de um SO e descrever diversos tipos de ataque e formas de defesa OA8: Usar a linha de comandos para trabalhar num servidor linux remoto; programar em shell; utilizar comandos de manipulação de texto e administração OA9: Programar ao nível do sistema, usando as funcionalidades dos SO, tendo em conta os modelos de programação sequencial e concorrente

Conteúdos Programáticos / Syllabus


CP1: Introdução aos Sistemas Operativos Processos CP2: - Concorrência e gestão de processos. CP3: - Escalonamento de processos CP4: - Sincronização entre processos. Semáforos CP5: - Comunicação entre processos Gestão de Memória CP6: - Modelos e algoritmos de gestão de memória CP7: - Memória Virtual CP8: Entradas e Saídas CP9: Sistema de Ficheiros CP10: Administração e Segurança Utilização do Linux CP11: - Comandos shell e programação em shell CP12: - Mecanismos de comunicação e sincronização

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


CP1: OA1 CP2: OA2, OA8 CP3: OA2 CP4: OA3, OA9 CP5: OA3, OA9 CP6: OA4 CP7: OA4, OA9 CP8: OA5 CP9: OA6, OA8 CP10: OA7, OA8 CP11: OA6, OA7, OA8 CP12: OA3, OA9

Avaliação / Assessment


Esta UC é feita apenas por Avaliação Periódica, não contemplando Exame Final. Componentes da avaliação: * TRAB (12.5% x 3): Trabalho de grupo ou individual, realizado em 3 etapas * TPC (12.5%): 9 questionários para preencher em casa (contam 8 melhores) * PE (50%): Prova Escrita a realizar em 1º ou 2ª época ou em época especial Requisitos: TRAB+TPC >= 9.5 valores, PE >= 7 valores A nota de TRAB+TPC está limitada a PE + 6 valores Para mais informações ver a secção Observações

Metodologias de Ensino / Teaching methodologies


O processo de ensino / aprendizagem é orientado pelos seguintes princípios: - Enfâse na compreensão dos conceitos base sobre os sistemas operativos e no relacionamento deste conceitos com a experiência e matérias de outras UC - Forte relacionamento entre a componente teórica e a expressão prática dos mesmos conceitos - Trabalho prático de desenvolvimento como meio de consolidação dos conhecimentos e competências.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


A metodologia adoptada não só dará um conhecimento amplo sobre os diversos aspectos de funcionamento dos diversos sistemas operativos, como permitirá fortalecer o conhecimento do aluno em aspectos mais relevantes, devido à forte componente laboratorial. A forte componente laboratorial baseia-se na utilização do sistema operativo linux, um sistema operativo unix-like, de código aberto e amplamente divulgado, o que permite dar um ênfase ao trabalho remoto com base na linha de comandos e na utilização directa das chamadas do sistema usando a linguagem C.

Observações / Observations


Relativamente à avaliação - Não é possível obter aprovação apenas através da realização de exame final, sendo obrigatória a realização do trabalho e dos TPC. - A nota final do trabalho é fixada para cada aluno através de uma prova oral. A nota dependerá dos relatórios, do desempenho do aluno na oral e poderá ter em conta a assiduidade. A nota dos trabalhos do último ano poderá transitar para o corrente ano, sendo neste caso limitada a um máximo de 14 valores. - A realização dos TPC é obrigatória todos os anos. - As perguntas feitas na prova escrita podem envolver aspectos relativos aos trabalhos feitos na componente laboratorial. - A nota correspondente aos trabalhos e aos TPC está limitada a um máximo de 6 valores acima da nota da prova escrita. - Quando a melhoria de nota ocorrer num ano letivo diferente daquele em que foi feito o trabalho, a componente relativa ao trabalho e aos TPC é substituída por uma prova prática, a realizar em computador antes ou depois da prova escrita. Os alunos nessas condições que pretendam realizar melhoria de nota devem contactar o coordenador da UC antecipadamente. A assiduidade não é requisito essencial de aprovação Devido à atual situação provocada pela COVID-19, o processo de avaliação poderá sofrer algumas adaptações, que serão comunicadas oportunamente, caso tal venha a ser necessário. Tendo em conta o comunicado do Gabinete do Ministro da Ciência, Tecnologia e Ensino Superior, de 2021-01-21, no contexto das medidas extraordinárias do estado de emergência, o início das atividades letivas decorrerá em formato de ensino à distância. Todas as alterações que possam acontecer serão comunicadas aos estudantes.

Bibliografia Principal / Main Bibliography


- José Alves Marques, Paulo Ferreira, Carlos Ribeiro, Luís Veiga, Rodrigo Rodrigues (2012), Sistemas Operativos, 2ª edição, FCA, ISBN: 978-9-727-22756-3 - Andrew Tanenbaum, Herbert Bos (2014), Modern Operating Systems, 4th Edition, Pearson Prentice-Hall, ISBN: 978-1-292-06142-9

Bibliografia Secundária / Secondary Bibliography


- Andrew Tanenbaum, Albert Woodhull (2006), Operating Systems Design and Implementation, 3rd edition, Prentice-Hall, 2006, ISBN: 978-0-131-42938-3 - Paulo Trezentos, Susana Nunes (2008), Linux para PCs, 3ª edição, FCA, ISBN: 978-972-722-603-0 - Paulo Trezentos, António Cardoso (2006), Fundamental do Linux, 3ª edição, FCA, ISBN: 978-972-722-514-9 - William Stallings (2018), Operating Systems Internals and Principles, 9th edition, Pearson, ISBN-13: 978-0-134-70006-9 - Abraham Silberschatz, Peter Galvin, Greg Gagne (2018), Operating System Concepts, 10th edition, Wiley, ISBN: 978-1-119-32091-3 - Abraham Silberschatz, Peter Galvin, Greg Gagne (2014), Operating Systems Concepts Essentials, 2nd edition, Wiley, ISBN: 978-1-118-84397-0

Data da última atualização / Last Update Date


2024-02-16