MC504/MC514 - Sistemas Operacionais
Segundo Semestre de 2016
- 30/nov: aula de laboratório (salas 302 e 303)
- 05/nov: revisão e dúvidas
- 07/nov: Prova 2
- 12 e 14/dez: apresentação dos projetos 2 e 3 (presença obrigatória de pelo menos um membro de cada grupo)
Projeto 3
Tema: módulo Linux. Peso na nota de projetos: 30%.
Veja as instruções para configurar o ambiente de testes e o enunciado do proj3.
Projeto 2
Tema: chamada de sistema. Peso na nota de projetos: 20%.
Veja as instruções para configurar o ambiente de testes e o enunciado do proj2.
Projeto 1
Tema: animação multithread. Peso na nota de projetos: 50%.
Veja as instruções aqui.
Grupos
Você já pode registrar seu grupo nesta wiki.
- Introdução: slides, pacote targz, material de apoio
- Processos e Threads: slides, pacote targz, material de apoio
- Exclusão Mútua: slides, pacote targz, material de apoio
- Semáforos e os Filósofos Famintos: slides, pacote targz, material de apoio
- Barbeiro Dorminhoco: slides, pacote tgz, material de apoio
- Produtor Consumidor e futexes: slides, pacote tgz, material de apoio
- Barreiras: slides, pacote tgz, material de apoio
- Mutex Locks: slides, pacote tgz, material de apoio
- Leitores e escritores: slides, pacote tgz, material de apoio
- Processos e sinais: slides, pacote tgz, material de apoio
- Escalonamento de processos: Escalonamento de processos
- Gerenciamento de memória (material revisado): slides, pacote tgz, material de apoio
- Buffer overflow (material revisado): slides, pacote tgz, material de apoio
- System calls: slides, projeto relacionado
- Sistemas de arquivos (parte I): slides, pacote tgz, material de apoio
- Sistemas de arquivos (parte II): slides
- Sistemas de arquivos (parte III): slides
- Escalonamento de disco: slides
- Pipes: slides, pacote tgz, material de apoio
- Escalonamento no Linux: slides
- Entrada/Saída: slides
Conteúdo:
- Gerenciamento de memória
- Ataque tipo buffer overflow
- Chamadas de sistema
- Sistemas de arquivos
- Escalonamento de processos
- Escalonamento de disco
- Pipes
- Entrada e saída
Leituras complementares:
Provas anteriores
Você pode tentar resolver questões de provas dos
semestres anteriores:
1s2006, 1s2008, 1s2009, 1s2010, 2s2013, 1s2014, 2s2014, prova2-1s2016 e prova3-1s2016.
Conteúdo:
- Conceitos de processos, threads e espaço de endereçmento.
- Conceitos de concorrência, exclusão mútua, deadlock, starvation, progresso.
- Análise de propriedades em códigos multithread.
- Implementação de códigos multithread.
- Semáforos
- Uso de operações atômicas em algoritmos para sincronização de processos;
- Mutex locks e variáveis de condição
- Locks recursivos, barreiras e locks de leitura e escrita;
- Sinais síncronos e assíncronos; tratamento de sinais.
- Escalonamento de processos
Leitura complementar:
Capítulo 2 do Tanenbaum.
Provas anteriores
Para estudar para a prova 1 você pode tentar resolver todas as
questões destas provas dos semestres anteriores: 1s2006-prova1, 1s2008-prova1, 1s2009-prova1, 1s2010-prova1, 2s2013-prova1, 1s2014-prova1, 2s2014-prova1, 1s2016-prova1 e 1s2016-prova2.
Para a parte de escalonamento, você também pode resolver as questões 1 e 2 da 2s2013-prova2, a questão 1 da 2s2014-prova2 e a questão 2 da 1s2016-prova3.