Você está na página 1de 1

Exercícios para reflexão:

1. A alternação estrita funciona? Se sim, explique porque ela não satisfaz as 4 condições
para se evitar condições de corrida. Se não, explique por que, haja vista que este método
impede que dois processos entrem em suas regiões críticas simultaneamente.

2. Utilizar espera ocupada como mecanismo de exclusão mútua não é uma boa idéia.
Analise a afirmação anterior com base no aproveitamento de CPU e os seus efeitos
dependendo do tipo de escalonamento adotado.

3. Podemos apontar algum tipo de “defeito” na solução de Peterson e TSL? Explique.

4. Assinale verdadeiro ou falso baseado em seus conhecimentos sobre comunicação


entre processos e as implicações envolvidas.
( ) Podemos afirmar que quando se trata de comunicação entre processos, os mesmos
problemas de comunicação e dependência se aplicam igualmente a threads, assim como
as soluções propostas;
( ) Condições de corrida ocorrem quando dois ou mais processos ou threads trabalham
com itens compartilhados. No entanto, se estes itens compartilhados não puderem ser
alterados pelos processos ou threads em questão, o problema desaparece;
( ) Uma região crítica representa o trecho de código em um processo ou thread que faz
acesso ao recurso compartilhado, se garantirmos que apenas dois processos, e não mais
que isto, o acessem de cada vez, nunca teremos uma condição de corrida;
( ) Um problema em se permitir que um processo desabilite interrupções ocorre
justamente se este (o processo) travar por algum motivo, impedindo que o SO retome o
controle;
( ) Variáveis de bloqueio funcionam, mas seu acesso deve ser feito dentro da região
crítica do processo que deseja fazer uso dos recursos compartilhados;
( ) Embora a alternância estrita obtenha sucesso em realizar a exclusão mútua, seu
problema reside no fato de que um processo executando fora de sua região crítica é
capaz de impedir que outro entre em sua respectiva região;
( ) Utilizar a espera ocupada não é interessante, pois o fato da CPU ser utilizada
executando um laço que não realiza nenhum tipo de trabalho útil, caminha em sentido
contrário às premissas de um bom sistema operacional;
( ) A solução de Peterson pode ser considerada uma solução ideal para se obter a
exclusão mútua sob os mais diversos aspectos;
( ) Um código que utilize a instrução TSL para implementar regiões críticas, na verdade
está utilizando um recurso de hardware que transforma duas operações independentes
em uma só, eliminando a possibilidade de a preempção ocorrer justamente entre elas;

Você também pode gostar