1.1 - Semáforo

Um semáforo é uma variável inteira que, dentre outras coisas, é utilizada para garantir a exclusão mútua.

Um semáforo tem a propriedade de contar qualquer coisa que se deseje. Geralmente, um semáforo é usado para contar o número de sinais de acordar salvos para uso futuro, a quantidade de itens presentes ou ausentes em um buffer, a posição onde se deve inserir ou remover itens de um buffer, dentre outros. Geralmente, o tipo de dado “int” é usado para representar um semáforo em diversas linguagens de programação.

1.2 - Mutex

Um mutex é uma versão simplificada de um semáforo e por vezes, é também chamado de semáforo binário. Um mutex é uma variável que pode estar em um de dois estados:

Consequentemente, somente 1 bit é necessário para representá-lo. Nas linguagens onde existe o tipo de dado “boolean”, o mesmo é uma opção suficiente e adequada para tal representação. Contudo, em linguagens onde o tipo de dado “boolean” não existe, geralmente utiliza-se o tipo “int” para um domínio de apenas dois valores, geralmente, zero para desimpedido e qualquer outro valor para impedido.

Frequentemente, zero (0) e um (1) são os valores escolhidos para representar o estado de desimpedido e de impedido, respectivamente.
Copyright © 2016 AIEC.