

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Um sistema multiprocessado (SMP) implementa um semáforo cuja operação wait() bloqueia o processo (inserindo-o em uma fila de espera) em vez de mantê-lo em espera em ação (busy waiting), caso o recurso não esteja disponível. Assinale a alternativa correta sobre a relação entre hardware e software na sincronização desse cenário.
Como o uso de semáforos bloqueantes elimina a espera em ação por parte dos processos que aguardam o recurso, basta desabilitar as interrupções em qualquer processador do sistema para garantir a atomicidade das operações wait()/signal(), independentemente do número de processadores.
Um semáforo de contagem e um semáforo binário são conceitos idênticos, já que ambos podem assumir apenas os valores 0 e 1, diferindo somente na nomenclatura usada por autores distintos.
Mesmo bloqueando o processo que aguarda o recurso, a própria atualização do valor interno do semáforo — dentro das operações wait()/signal() — ainda precisa ser protegida por uma instrução atômica de hardware; eliminar a espera em ação do processo que aguarda o recurso não elimina a necessidade de uma primitiva atômica para a seção crítica interna dessas operações.
Um mutex é uma variante do semáforo de contagem que preserva integralmente sua capacidade de contar múltiplas instâncias de um recurso, sendo restrito apenas a valores não negativos.
A atomicidade das operações wait()/signal() pode ser garantida inteiramente por soluções em software, como o algoritmo de Peterson, sem depender de qualquer instrução especial de hardware.