Buscar

Como um sistema operacional capaz de desabilitar interrupções poderia implementar semáforos?

💡 3 Respostas

User badge image

Andre Smaira

1

Modificações nos valores do semáforo devem ser feitas atomicamente. Em um sistema de núcleo único, isso pode ser feito desativando as interrupções para que as operações de leitura / modificação / gravação para alterar o semáforo não possam ser interrompidas.

Em um sistema multicore, desabilitar interrupções não é suficiente; portanto, os processadores com capacidade multicore geralmente têm instruções atômicas para fazer a modificação. Por exemplo, nos processadores Intel / AMD, há um prefixo de bloqueio para executar uma instrução atomicamente.

Se as interrupções do processador pudessem ocorrer durante a modificação do valor de um semáforo, seria possível que esse valor terminasse em um estado inconsistente. Durante uma interrupção, um determinado conjunto de instruções será executado.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais