AulaVI SO GERENCPROC 2011 1

2947 palavras 12 páginas
Sistemas Operacionais

Técnicas de Implementação de
Exclusão Mútua
Aula VI
Prof. Rosemary Silveira

Tópicos de Apresentação
Condições de Corrida
Técnicas de Implementação de Exclusão Mútua

Condições de Corrida
Como o sistema operacional determina, através da política de escalonamento, o processo que vai executar e por quanto tempo, não se sabe a priori em que ordem dois processos ativos irão executar.
Situações nas quais dois ou mais processos acessam concorrentemente as mesmas posições de memória ou arquivo compartilhado e o valor final contido nestas posições depende da ordem na qual os processos foram executados são chamadas de condições de corrida (race conditions).
A existência de condições de corrida em um sistema pode levar a resultados inesperados, devido ao não-determinísmo inerente a estas condições.

Condições de Corrida
As condições de corrida levam geralmente a resultados inesperados, por isto, devem ser evitados.
É necessário assegurar que outros processos sejam impedidos de usar uma variável compartilhada ou arquivo compartilhado que já estiver em uso por outro processo.
A serialização da execução garante que uma porção de código seja executada somente por um processo de cada vez.
A exclusividade na execução de partes de código é garantida por mecanismos que implementam a exclusão mútua.
A parte do código protegida pelos mecanismos de exclusão mútua é denominada região crítica.

Exclusão Mútua
Os mecanismos de exclusão mútua devem garantir que jamais dois ou mais processos estejam dentro da mesma região crítica simultaneamente. A implementação da exclusão mútua pode ser feita de duas maneiras:
Espera ocupada (busy waiting)
O processo espera a permissão de entrada na seção crítica em um loop de teste de permissão: while (vez != minha)
A espera ocupada desperdiça CPU, só é interessante utilizá-la quando se sabe que a espera é pequena.

Bloqueio de processos
O processo que espera a permissão de entrada na seção crítica executa uma primitiva que

Relacionados