Código |
8568
|
Ano |
3
|
Semestre |
S2
|
Créditos ECTS |
6
|
Carga Horária |
PL(30H)/T(30H)
|
Área Científica |
Sistemas e Computadores
|
Tipo de ensino |
Presencial.
|
Estágios |
Não aplicável.
|
Objectivos de Aprendizagem |
Aprendizagem dos rudimentos da arquitetura de computadores e das inter-relações entre o hardware e o software do sistema operativo. Aprendizagem crítica das várias arquiteturas dos sistemas operativos e dos componentes de um sistema operativo. Utilização e programação de sistemas operativos. No final da Unidade Curricular o estudante deverá ser capaz de identificar o papel e o impacto de um sistema operativo, identificar e resolver problemas práticos no desenvolvimento e utilização dum sistema operativo e ter noções fundamentais acerca de programação de sistemas operativos. O estudante deve também ter obtido experiência na utilização, administração e programação de sistemas operativos.
|
Conteúdos programáticos |
Programa das Aulas Teóricas 1. Introdução 2. Estruturas o sistema operativo e sistemas de entrada/saída (E/S) de um computador 3. Arquitetura de um sistema operativo 4. Processos e threads 5. Sincronização e comunicação entre processos/threads 6. Gestão de memória e memória virtual 7. Sistemas de ficheiros Programa das Aulas Praticas 1. Utilização do sistema operativo (Linux) 2. Programação com o Bash Shell 3. Linkagem e bibliotecas 4. Entrada/Saída de baixo-nível 5. Processos e threads 6. Ficheiros e diretórias 7. Comunicação entre processos 8. Sincronização e semáforos
|
Metodologias de Ensino e Critérios de Avaliação |
Avaliação de conhecimentos com testes escritos. Avaliação continua através da realização de fichas de trabalho de programação realizados durante as aulas praticas. 2 Projetos de programação baseado na matéria das aulas teóricas.
|
Bibliografia principal |
Operating Systems Concepts (10th Edition), A. Silberschatz e P. Galvin, Addison-Wesley, 2018. ISBN 978-1-118-06333-0 Modern Operating Systems, Third Edition Andrew S. Tanenbaum, Prentice Hall 2008 Advanced Programming in the Unix Environment W. Stevens, Addison-Wesley, 1992 Unix Network Programming, Volumes 1 e 2, W. Stevens, Prentice Hall, 1998 Computer Systems: A Programmer's Perspective (Segunda Edição), Randal E. Bryant, David R. O'Hallaron, Prentice Hall, 2010
|
Língua |
Português
|