5305O3 - Sistemas Operativos I (2005 - 2006)
Up one level- Docente Responsável
 - Francisco Soares de Moura
 - Docente da aulas teóricas
 - Francisco Soares de Moura
 - Docentes das aulas teórico práticas
 - José Pedro Oliveira
 
- Teste (10%) + Exame Final (90%)
 - Os alunos dispensados das aulas práticas realizam apenas exame, que vale 100% da nota final.
 
- Introdução aos sistemas operativos modernos
 - Gestão de processos: objectivos, estratégias de escalonamento
 - Noções de programação concorrente: comunicação e sincronização de processos e threads
 - Gestão de memória: sistemas de memória real e virtual, paginação e segmentação
 - Gestão de periféricos
 
-  Introdução
        
- Objectivos e funções de um sistema operativo
 - Evolução e estrutura dos sistemas operativos modernos
 
 -  Gestão de processos
        
- Objectivos e critérios de escalonamento
 - Estados de um processo, desafectação forçada
 - Estratégias de escalonamento: FIFO, SJN, RR, etc
 - Estudo de casos: Unix, VMS, Windows NT, etc
 - Multiprocessamento: benefícios, impacto no sistema operativo
 
 -  Noções de programação concorrente
        
- Processos versus Threads
 - Exclusão mútua, comunicação e sincronização
 - Estudo de casos: processos e threads em Unix e Windows NT
 
 -  Gestão de memória
        
- Objectivos, ligação compilador/sistema operativo
 -  Sistemas de memória real
                
- Monoprogramação, swapping e overlaying
 - Multiprogramação com partições de dimensão fixa e variável
 
 -  Sistemas de memória virtual
                
- Princípios gerais
 - Segmentação e paginação
 - Objectivos e realização
 - Estratégias de alocação/rejeição de memória
 
 - Desempenho de sistemas de memória virtual
 - Estudo de casos: gestão de memória em Linux e Windows.
 
 -  Gestão de periféricos
        
- Hardware e software de I/O
 - Disco: organização física e escalonamento de pedidos
 - Estudo de casos: device drivers em Unix
 
 
- Silberschatz et al., Applied Operating System Concepts, John Wiley & Sons, 2000
 
- A. S. Tanenbaum, Modern Operating System,Prentice Hall, 1992.
 - R. Stevens, Advanced Programming in the Unix Environment,Addison Wesley, 1990.
 - U. Vahalia, Unix Internals,Prentice Hall, 1996.
 
Esta disciplina surgiu pela primeira vez no ano lectivo de 1995/96, como consequência da restruturação das Licenciaturas em Engenharia de Sistemas e Informática e Matemática e Ciências da Computação. O seu programa é em grande parte coincidente com o do primeiro semestre da antiga disciplina de Sistemas Operativos, ao qual foram feitas algumas actualizações de modo a acompanhar quer a evolução dos sistemas operativos actuais quer o novo figurino dos dois cursos.
Continua a insistir-se no papel que o sistema operativo tem na definição da "personalidade" de um computador, como fornecedor de serviços às aplicações e como gestor de recursos, e introduzem-se as noções básicas de programação concorrente. O tempo libertado pela transferência da gestão de ficheiros para o segundo semestre é agora aproveitado para explorar o desenvolvimento de aplicações baseadas threads. Esta interface está disponível na generalidade de sistemas operativos actuais (Linux, Solaris, Windows NT, etc).
- 
                
                        
                
                Apontamentos das Aulas Teóricas
                
                
                
                 - Apontamentos das Aulas Teóricas
 
- 
                
                        
                
                Exames de anos anteriores
                
                
                
                 - Alguns exames de anos anteriores