3 - Exclusão Mútua
Uma das formas mais triviais de se solucionar as condições de corrida, deadlocks e starvation é a utilização da exclusão mútua. Este algoritmo evita o uso simultâneo dos recursos comuns através da utilização do conceito de região crítica.
Região crítica é a parte do código da aplicação responsável por realizar o acesso ao recurso compartilhado. A premissa adotada é a de que, independentemente da situação de momento do recurso compartilhado, se dois processos não acessarem simultaneamente as suas regiões críticas, a condição de corrida seria evitada.
As condições lógicas para a correta implementação de regiões críticas são:
- Dois processos não podem acessar simultaneamente a sua região crítica.
- Os processos não podem esperar para sempre para adentrar a sua região crítica
- Processos que estão executando fora de suas regiões críticas não podem bloquear o acesso de outro processo a sua região crítica
- Nenhuma suposição pode ser realizada a respeito da velocidade ou do número de CPUs.
Copyright © 2014 AIEC.