Instituto de Computação - UNICAMP

MC514 - Sistemas Operacionais: Teoria e Prática

Islene Calciolari Garcia

Alan Godoy Souza Mello


Todas as notas! Este arquivo contém as notas das provas, dos labs (threads e linux) e o arquivo de presenças para o ponto extra por participação nos seminários. Veja também o enunciado da prova do dia 18 de junho e verifique o erro do programa da questão 6b.

Revisão de provas na segunda ou na quarta às 16:00 na minha sala. Na terça, eu estarei em Curitiba, participando de uma banca de mestrado.


Notas da Prova 2 (do dia 02 de junho).

Notas da Prova 1.

A inspiração da questão 3 foi o artigo Futex are tricky. Ulrich Drepper. Red Hat.

O autor do algoritmo da questão 4 é o Robson Roberto Souza Peixoto.


Para a prova 2: lista2.pdf, 1s2008-prova2.pdf e 1s2006-prova2.pdf
As áreas estão abertas! Veja em /home/mc514!

Programa da disciplina

Atenção para as novas datas!
Veja a apresentação do Alan sobre o Kernel Linux.
O Alan irá participar de um congresso na Noruega nos dias 14 e 21 de maio. Para que ele possa ver as apresentações, estou adiando o laboratório 3 para o dia 26 e apresentações a partir do dia 28. Quem já terminou, pode apresentar no dia 7 de maio, no horário do laboratório.

O próximo projeto será sobre o Linux e utilizaremos o livro Undestanding the Linux Kernel, Daniel P. Bovet; Marco Cesati. O'Reilly Media, Inc. Terceira Edição. Se você estiver em uma máquina da UNICAMP, poderá fazer acesso ao livro. Veja aqui os temas que poderão ser escolhidos.



Veja alguns comentários sobre o que cai na prova.

A prova 1 está chegando! Veja as provas de 2008 e 2006, quando eu ainda era boazinha... ;-) Veja também as respostas dadas por um aluno da turma para as provas de 2008 e 2006.

Note que nestas provas não aparece futex, mas este tópico irá fazer parte da prova deste ano. Veja a lista de exercícios.


Veja um livro livre (e gratuito!) sobre semáforos e problemas de sincronização: The Little Book on Semaphores, de Allen B. Downey.

Veja um tutorial sobre pthreads.

E a implementação de pthreads?


Laboratório 3: Algoritmo multi-thread com animação

Laboratório 2: Campeonato com Futex

Laboratório 1: Jogo da Vida


Aulas

  • Entrada e Saída e Pipes, diretório de exemplos, io-pipe.tgz
  • Sistemas de Arquivos II, diretório de exemplos, arquivos2.tgz
  • Sistemas de Arquivos, diretório de exemplos, arquivos.tgz
  • Gerência de memória 2, diretório de exemplos, memoria2.tgz
  • Gerência de memória 1, diretório de exemplos, memoria1.tgz
  • Gerência de memória 0, diretório de exemplos, memoria0.tgz
  • História e Escalonamento, diretório de exemplos, sched.tgz
  • Processos e sinais, diretório de exemplos, sinais.tgz
  • Barbeiro dorminhoco, diretório de exemplos, barbeiro.tgz
  • Locks recursivos, diretório de exemplos, lr.tgz
  • Semáforos == mutex + cond?, diretório de exemplos, sem2mutex.tgz
  • Filósofos famintos, diretório de exemplos, filosofos.tgz
  • Produtores e consumidores, diretório de exemplos, prod-cons.tgz
  • Thr 6 - Futex e Algoritmo da Padaria , diretório de exemplos, thr6.tgz
  • Thr 5 - Exclusão mútua para N threads , diretório de exemplos, thr5.tgz
  • Thr 4 - Exclusão mútua para N threads , diretório de exemplos, thr4.tgz
  • Thr 3 - Exclusão mútua , diretório de exemplos, thr3.tgz
  • Thr 2 - Introdução a Pthreads (parte II) , diretório de exemplos, thr2.tgz
  • Thr 1 - Introdução a Pthreads (parte I) , diretório de exemplos, thr1.tgz