Questão nº 47
Questão de Tecnologia da Informação · CESGRANRIO CAIXA 1/2021/NM (nº 47)
A sincronização entre processos concorrentes é fundamental para garantir a confiabilidade dos sistemas multiprogramáveis.
Um mecanismo de sincronização simples, que permite implementar a exclusão mútua sem a deficiência da espera ocupada (busy wait), é o
- Adeadlock
- Bmutual lock
- Cescalonamento binário
- Dbuffer contador
- Esemáforo mutex (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Conceito-chave: Em sistemas operacionais, processos concorrentes precisam de um "sinal de trânsito" para acessar recursos compartilhados sem colisão. O semáforo é uma variável especial controlada pelo sistema que, quando usada como mutex (exclusão mútua), permite que apenas um processo entre na "zona crítica" (trecho de código que acessa o recurso) e, ao contrário da espera ocupada, o processo que não consegue entrar é bloqueado (dorme) e só é acordado quando o recurso é liberado.
- (A) Incorreta: Deadlock é um estado de impasse onde dois ou mais processos ficam esperando eternamente por recursos uns dos outros; não é um mecanismo de sincronização, mas um problema que ela tenta evitar.
- (B) Incorreta: Mutual lock não é um termo técnico padrão da literatura de sistemas operacionais; a banca inventou esse nome para confundir com "mutex", mas o mecanismo correto é o semáforo binário.
- (C) Incorreta: Escalonamento binário não existe; escalonamento é a política de escolher qual processo usa a CPU, e "binário" não se aplica a esse contexto de sincronização.
- (D) Incorreta: Buffer contador não é um mecanismo de sincronização; buffers são áreas de armazenamento temporário, e contadores são usados em semáforos, mas o nome completo do mecanismo é semáforo.
- (E) Correta: O semáforo mutex (ou semáforo binário) é exatamente o mecanismo que implementa exclusão mútua sem busy wait (espera ocupada): quando um processo tenta entrar na zona crítica e o semáforo está ocupado, ele é bloqueado (colocado em fila de espera) e o processador é liberado para outros processos, evitando o desperdício de CPU que ocorreria com um loop de verificação contínua.
Armadilha da banca: A alternativa (B) "mutual lock" é o distrator mais tentador porque parece uma tradução literal de "exclusão mútua" (mutual exclusion). Mas "lock" (trava) é um conceito genérico, e o mecanismo específico que usa bloqueio de processo (não espera ocupada) é o semáforo mutex. A banca quer que você decore o nome técnico correto, não invente um termo parecido.
Fonte: CESGRANRIO CAIXA 1/2021/NM Técnico Bancário Novo - Tecnologia da Informação. Reproduzida para fins de estudo.