Em diversos Sistemas Operacionais, processos que estão trabalhando juntos compartilham recursos, como memória, onde todos podem ler e escrever. Uma das soluções propostas para solucionar problemas com sincronização, e evitar condições de corrida, é a utilização de um tipo específico de variável chamada de semáforo. Sobre a utilização dos semáforos no controle de acesso a recursos compartilhados, assinale a opção que corretamente descreve a operação down, que também pode ser chamada de wait ou P.
Verifica se o valor do semáforo é maior que 0. Quando é maior que 0, o semáforo é decrementado e o processo é posto para dormir até ser despertado novamente. Quando é igual a 0, o processo continua.
Incrementa o valor do semáforo e interrompe o processo atual. Caso o valor do semáforo seja maior que 2, antes de dormir, o processo deve indicar um dos processos que está dormindo para ser despertado.
Verifica se o valor do semáforo é maior que 0. Quando é maior que 0, o semáforo é decrementado e o processo continua. Quando é igual a 0, o processo é posto para dormir até ser despertado novamente.
Incrementa o valor do semáforo. Quando há algum processo dormindo, um deles é escolhido pelo sistema para ser despertado e pode completar seu down. O critério de escolha do processo pode variar, podendo ser escolhido ao acaso.