O valor de um semáforo indica:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C
Vamos entender por que a alternativa C é a correta.
Os semáforos são um mecanismo de sincronização fundamental em sistemas operacionais. Eles são utilizados para controlar o acesso a recursos compartilhados em ambientes de multi-threading ou multi-processamento. O valor do semáforo indica quantos processos ou threads podem acessar um recurso compartilhado ao mesmo tempo.
Para um melhor entendimento, vamos detalhar o conceito de semáforo:
- Semáforo Binário: Só permite valores 0 e 1, controlando um único recurso com exclusão mútua.
- Semáforo Contador: Pode assumir valores maiores, permitindo controlar o acesso de múltiplos processos ou threads a um número limitado de recursos simultaneamente.
Dessa maneira, quando o valor de um semáforo é positivo, ele indica quantos processos ou threads ainda podem acessar o recurso. Quando é zero, indica que todos os recursos estão ocupados e qualquer processo adicional terá que esperar.
Agora, vamos descartar as alternativas incorretas:
A - Indica qual processo está em starvation: Errado. Starvation refere-se a uma situação onde um processo não consegue obter os recursos necessários para prosseguir, mas os semáforos não identificam especificamente qual processo está em starvation.
B - Sinaliza qual processo tem exclusão mútua: Errado. A exclusão mútua é uma propriedade garantida pelo uso de semáforos binários, mas o valor do semáforo em si não sinaliza qual processo está em exclusão mútua.
D - Indica o número de páginas virtuais habilitadas: Errado. O número de páginas virtuais habilitadas é uma característica da memória virtual e não tem relação direta com o valor de um semáforo.
E - Todas as alternativas estão corretas: Errado. Como vimos, apenas a alternativa C está correta.
Portanto, a alternativa C é a correta pois descreve perfeitamente a função do valor de um semáforo em sistemas operacionais.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Discordo com este gabarito aí
Semaforo, é um algoritmo para controle de deadlock na região critica, geralmente a mesma sinaliza por 0 e 1, 0 livre 1 ocupado para ter admissão "a processar o processo".
Me avise em caso de erro.
Um semáforo é uma variável do tipo inteiro que é acessada por duas operações wait e signal.
Tendo em vista que quando um processo deseja utilizar um recurso ele realiza uma operação wait ele decrementa a contagem do semáforo e que quando termina de usar o recurso ele executa uma do tipo signal que incrementa a contagem. Logo o valor da variável semáforo é a quantidade de processos que podem ter acesso ao recurso.
Gabarito C
Gabarito (C)
Colocando a fonte para corroborar com o comentário anterio
Fonte: https://www.revista-programar.info/artigos/threads-semaforos-e-deadlocks-o-jantar-dos-filosofos/
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo