MC514 - Sistemas Operacionais: Teoria e Prática
Glauber de Oliveira Costa
João Paulo Rechi Vita
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).
Sobre o prazo para entrega dos últimos trabalhos
- O projeto 2 de Linux poderá ser entregue até o dia 30 de junho com
desconto de 2 pontos na nota final (sendo que o item 3-a vale bônus
de 1 ponto).
- O projeto
3 pode ser entregue até o dia 4 de julho.
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
- Threads:
Como comentado várias vezes em sala de aula :-) , o último projeto de
threads será a implementação (com animação) de algum algoritmo
descrito no livro The
Little Book on Semaphores, de Allen B. Downey. Veja mais detalhes
aqui.
- Linux: Especificação do
trabalho 2 - o tema é processos, threads e sinais. Veja dicas
aqui.
Este projeto deve ser entregue no dia 15 de junho, por e-mail para
o Glauber (conta glommer no gmail).
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
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.
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