Você está na página 1de 2

Servio Pblico Federal

Universidade Federal de Santa Catarina - UFSC


Departamento de Informtica e Estatstica - INE

INE 5410 PROGRAMAO CONCORRENTE

Lista de exerccios
Entrega dia 28 de maio.
1) Pombos correio foram treinados para transportar cartas da cidade
A para a cidade B. Na cidade A existe uma Caixa Postal onde as
pessoas depositam suas cartas para que sejam entregues na cidade
B. Os pombos consultam a Cxpostal e retiram sempre 5 cartas para
transportar na sua viagem. Caso no existam ainda 5 cartas na
caixa, o pombo espera at que esse nmero seja atingido. Na cidade
B existe uma gaiola onde os pombos depositam suas cartas e ficam
presos at que um processo tratador libere-os. O tratador verifica a
gaiola a cada 20 clocks e libera todos os pombos somente se o
nmero de pombos for maior ou igual a 2. Os pombos somente
transportam cartas de A para B, na sua volta eles voam vazios.
Construa um monitor para controlar a utilizao da Caixa Postal
pelas pessoas (13), pombos (6) e o tratador (1).
2) Implemente o problema dos fumantes utilizando monitor. Trs
fumantes e um agente sentados em uma mesa. Cada fumante
possui dois dos trs ingredientes para se fazer um cigarro: fsforo,
fumo e palha. O agente possui os trs e aleatoriamente sorteia um
dos ingredientes. O fumante contemplado faz o seu cigarro, fuma e
libera o agente para fazer novo sorteio.
3) Processos produtores e consumidores se sincronizam atravs de
um buffer circular com 5 posies (um array de 5 posies). Um
produtor gera um nmero aleatrio e coloca no buffer caso exista
uma vaga. Um consumidor retira um nmero do buffer se houver.
Implemente utilizando monitor.

Servio Pblico Federal


Universidade Federal de Santa Catarina - UFSC
Departamento de Informtica e Estatstica - INE

4) Suponha um ambiente em que processos compartilham


impressoras. Existem dois tipos de impressora: tipo A e Tipo B.
Existem 3 classes de processos: classe PA que somente utilizam
impressoras do tipo A, classe PB que somente utilizam impressoras
do tipo B e classe PAB que utilizam impressoras de qualquer tipo.
Esses processos, do tipo PAB, tm prioridade sobre os demais
quando no houver impressoras disponveis. Implemente utilizando
monitor.
Process type tpA;
Begin
Repeat
Sleep (...); alocaA; sleep(...) ; liberaA;
Forever;
End;
5) Implemente o problema da ponte utilizando monitor. Uma ponte,
que separa duas cidades A e B, somente permite trfego em um
sentido de A para B ou de B para A. Se a ponte estiver vazia pode
ser utilizada por carros de A ou de B. Se um carro de A acessou a
ponte, ela trancada para os carros de B e todos os carros de A que
desejarem podem tambm acessar. Quando o ltimo carro que sai
de A para B deixar a ponte, ela deve ser liberada.

Você também pode gostar