Instituto de Computação - UNICAMP

MC514 - Sistemas Operacionais: Teoria e Prática

Islene Calciolari Garcia

Glauber de Oliveira Costa

João Paulo Rechi Vita


Notas finais! Boas férias!

Este arquivo contém várias planilhas, com notas detalhadas das provas e projetos. As notas detalhadas dos exames estão no final.

As notas do trabalho 3 de Linux serão divulgadas depois do prazo extra para entrega (4 de julho).

Gabarito da Prova 2


Programa da disciplina

Lista de exercícios 2

Comentários sobre a lista de exercícios 2

Sobre o prazo para entrega dos últimos trabalhos

Sobre o critério de avaliação

Para ser aprovado sem exame na disciplina é necessário ter média maior ou igual a 5.0 na parte teórica (M_prova) e na parte prática (M_proj)!

Todos os projetos (Linux e Threads) terão o mesmo peso. A média de projetos pode ser maior do que 10 (se o seu grupo recebeu algum bônus)!

Média final

  • Sem exame (M_prova >= 5.0 e M_proj >=5.0):

    Média final = (2 * M_prova + M_proj)/3

  • Com exame (M_prova < 5.0 ou M_proj < 5.0):

    Média final= (min(M_prova, M_proj) + Exame) /2

    Novos projetos


    Material adicional:


    Áreas de 1G! :-) :-)

    Cada grupo terá acesso a uma área de 1G (sem backup) para fazer os projetos de Linux. Confira se você está nesta lista e veja aqui os diretórios abertos!
    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?


    Projetos anteriores

    Tutorial QEMU

    Projeto 1 - Linux

    O código islenefs.c apresenta uma versão bem simples de um sistema de arquivos em memória. Infelizmente, este sistema não tem diretórios. O Glauber irá explicar como você pode implementar esta funcionalidade na próxima aula (pouco antes do laboratório). Outros detalhes aqui.

    Laboratório 1

    Laboratório 0 (dicas)


    Aulas

  • Entrada/Saida e Pipese, diretório de exemplos, io-pipe.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
  • Escalonamento, diretório de exemplos, sched.tgz
  • Semáforos == mutex + cond?, diretório de exemplos, sem2mutex.tgz
  • Processos e Sinais, diretório de exemplos, sinais.tgz
  • Leitores e Escritores, diretório de exemplos, l-e.tgz
  • Barbeiro Dorminhoco, diretório de exemplos, barbeiro.tgz
  • Locks recursivos, diretório de exemplos, lr.tgz
  • Filósofos famintos, diretório de exemplos, filosofos.tgz
  • Produtores e consumidores, diretório de exemplos, prod-cons.tgz
  • Thr 6 -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 - Primeiros problemas de condição de corrida , diretório de exemplos, thr3.tgz
  • Thr 2 - Introdução a Pthreads (parte 2) , diretório de exemplos, thr2.tgz
  • Thr 1 - Introdução a Pthreads (parte 1) , diretório de exemplos, thr1.tgz