IPRJ – SISTEMAS OPERACIONAIS
LISTA DE EXERCÍCIOS 03
1
) O que é uma condição de corrida? Descreva um exemplo de situação que leva a uma
condição de corrida.
2
3
) O que é necessário para evitar uma condição de corrida/disputa?
) Qual é o principal problema existente em todos os métodos de exclusão mútua com
espera ociosa?
4
) Descreva os processos exclusão mútua atráves da instrução TSL e atráves da solução de
Peterson. Qual a principal diferença entre essas duas abordagens?
5
6
7
) Descreva o processo de exclusão mútua realizado através de semáforos.
) Qual a principal diferença entre semáforo e mutex?
) Implemente o problema do Produtor-Consumidor utilizando duas threads produtoras e
três threads consumidoras. Utilize semáforos para sincronizar o acesso das threads a
região critica.
8
) Implemente o jogo "pedra, papel e tesoura" utilizando threads como jogadores. Como
entrada, tem-se a quantidade de rodadas que serão jogadas. Como saída, deve-se
apresentar uma mensagem mostrando o placar final. Utilize mutex para sincronizar o
acesso das threads a região critica.
Lembre-se que pedra ganha de tesoura, papel ganha de pedra e tesoura ganha de papel.