Buscar

Como desenvolver um detector de Deadlock?

💡 4 Respostas

User badge image

Andre Smaira

Em um sistema operacional, um deadlock ocorre quando um processo ou thread entra em um estado de espera porque um recurso de sistema solicitado é retido por outro processo de espera, que por sua vez está aguardando outro recurso mantido por outro processo de espera. Se um processo não puder alterar seu estado indefinidamente, porque os recursos solicitados por ele estão sendo usados ​​por outro processo de espera, o sistema é considerado em um impasse.


Uma situação de deadlock em um recurso pode surgir se, e somente se, todas as condições a seguir ocorrerem simultaneamente em um sistema:

  • Exclusão mútua: pelo menos um recurso deve ser mantido em um modo não compartilhável. Caso contrário, os processos não seriam impedidos de usar o recurso quando necessário. Apenas um processo pode usar o recurso em um determinado instante de tempo.

  • Manter e aguardar ou retenção de recursos: um processo atualmente está mantendo pelo menos um recurso e solicitando recursos adicionais que estão sendo mantidos por outros processos.

  • Sem preempção: um recurso pode ser liberado apenas voluntariamente pelo processo que o mantém.


Espera circular: cada processo deve estar aguardando por um recurso que está sendo mantido por outro processo, que, por sua vez, aguarda o primeiro processo para liberar o recurso.

0
Dislike0
User badge image

Andre Smaira

Em um sistema operacional, um deadlock ocorre quando um processo ou thread entra em um estado de espera porque um recurso de sistema solicitado é retido por outro processo de espera, que por sua vez está aguardando outro recurso mantido por outro processo de espera. Se um processo não puder alterar seu estado indefinidamente, porque os recursos solicitados por ele estão sendo usados ​​por outro processo de espera, o sistema é considerado em um impasse.


Uma situação de deadlock em um recurso pode surgir se, e somente se, todas as condições a seguir ocorrerem simultaneamente em um sistema:

  • Exclusão mútua: pelo menos um recurso deve ser mantido em um modo não compartilhável. Caso contrário, os processos não seriam impedidos de usar o recurso quando necessário. Apenas um processo pode usar o recurso em um determinado instante de tempo.

  • Manter e aguardar ou retenção de recursos: um processo atualmente está mantendo pelo menos um recurso e solicitando recursos adicionais que estão sendo mantidos por outros processos.

  • Sem preempção: um recurso pode ser liberado apenas voluntariamente pelo processo que o mantém.


Espera circular: cada processo deve estar aguardando por um recurso que está sendo mantido por outro processo, que, por sua vez, aguarda o primeiro processo para liberar o recurso.

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