Existem duas diferentes formas de implementação da lógica de exclusão mútua:

Os processos com espera ociosa se caracterizam na prática por, antes de entrar em sua região crítica, checar se a operação é permitida e, caso o acesso seja negado, iniciar um loop de verificações até que o acesso seja concedido.

Um dos aspectos negativos desta abordagem é o desperdício de tempo de processamento decorrente do processo cíclico de verificação. Como exemplos de soluções busy waiting pode-se citar a desabilitação de interrupções, a solução de Peterson, o uso de variáveis do tipo trava (lock), o chaveamento obrigatório (strict alternation) e a instrução TSL.

Além das soluções de espera ociosa, foram desenvolvidas uma série de outras alternativas para controle da concorrência sem que, no entanto, fosse necessário iniciar um processo de espera ativa, os chamados modelos com suspensão do processo de espera. A utilização de semáforos, monitores e troca de mensagens (Message Passing) são exemplos destas implementações.

Copyright © 2014 AIEC.