Página 19
Transcrição do slide
Processos
(Soluções para Exclusão Mútua)
Semáforos Também baseados em um tipo de variável (semáforo) que pode sofrer duas operações básicas: DOWN e UP (generalização das primitivas sleep e wakeup) O semáforo fica associado a um recurso compartilhado, indicando quando o recurso está sendo acessado por um dos processos concorrentes Se o valor da variável semáforo for diferente de zero, nenhum processo está utilizando o recurso; caso contrário,o processo fica impedido do acesso Sempre que deseja entrar em sua região crítica, um processos executa uma instrução DOWN Se o semáforo for maior que 0, este é decrementado de 1,
e o processo que solicitou a operação pode executar sua
região crítica
Entretanto, se uma instrução DOWN é executada em um
semáforo cujo valor seja igual a 0, o processo que solicitou
a operação ficará no estado de espera