Professional Documents
Culture Documents
Lista de Exercicios Reviso de Programao Concorrente
Lista de Exercicios Reviso de Programao Concorrente
Com base nos conteúdos apresentados sob a temática Revisão de Programação Concorrente,
responda as questões a seguir.
1) Por que razão, em computação, faz-se necessário executar vários programas simultaneamente?
4) Que tipo de problema pode ocorrer quando há concorrência entre dois processos e eles estão
alterando o valor de uma mesma variável?
6) Explique como várias threads conseguem acessar um mesmo dado compartilhado em um programa.
8) Quais os tipos de sincronização empregadas para gerir a ordem com que as tarefas são executadas?
9) O que é escalonamento e quais os estados que uma tarefa pode assumir durante sua execução?
10) Um dos principais problemas quando se trabalha com programação concorrente é o indeterminismo.
Defina indeterminismo e como este problema pode afetar variáveis compartilhadas durante a execução de
tarefas concorrentes.
11) Que questões devem ser avaliadas durante o projeto de programas concorrentes? Cite pelo menos
três?
12) Defina “espera ocupada” e como pode ser empregada no problema produtor-consumidor.
13) O que são semáforos em programação concorrente? Quais operações atômicas os semáforos
implementam? Quais os tipos de semáforos empregados em programação concorrente?
14) (CESGRANRIO, 2012 - Petrobrás) Os semáforos são usados em programação concorrente para evitar
que dois ou mais processos acessem sua seção crítica simultaneamente. Assim, os semáforos são usados
para garantir:
a) os pipes, que funcionam ligando a saída de um processo com a entrada de outro.
b) a exclusão mútua, onde cada processo deverá sinalizar imediatamente antes e, imediatamente após,
usar um recurso comum a ambos.
c) o PID, a identificação única de cada processo.
d) que não haverá deadlock, ou seja, quando um processo espera indefinidamente por um recurso de outro.
e) que a máquina virtual gerencie os processos do Sistema Operacional e o hardware da máquina
corretamente.