Em relação às condições para que ocorra um deadlock, àquel...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - não preempção
Deadlock é uma situação em que um conjunto de processos fica permanentemente bloqueado porque cada processo está esperando por um recurso que está sendo retido por outro processo no conjunto. Para que um deadlock ocorra, quatro condições devem ser satisfeitas simultaneamente:
1. Exclusão Mútua: Pelo menos um recurso deve estar em um estado não compartilhável. Em outras palavras, apenas um processo pode usar o recurso de cada vez.
2. Posse e Espera: Um processo que está segurando pelo menos um recurso está esperando para adquirir recursos adicionais que estão sendo segurados por outros processos.
3. Não Preempção: Recursos não podem ser tomados à força de processos que os possuem; eles devem ser liberados explicitamente pelo processo que os detém. É exatamente essa condição que a questão está descrevendo.
4. Espera Circular: Um conjunto de processos {P1, P2, ..., Pn} deve existir tal que P1 esteja esperando por um recurso que é mantido por P2, P2 esteja esperando por um recurso que é mantido por P3, e assim por diante, até que Pn esteja esperando por um recurso que é mantido por P1, formando um ciclo fechado.
A alternativa correta é a D - não preempção porque ela descreve a condição onde os recursos concedidos previamente a um processo não podem ser forçosamente retirados, somente podendo ser liberados explicitamente pelo próprio processo. Esta é uma das condições necessárias para a ocorrência de um deadlock.
Entender essas quatro condições é essencial para resolver questões que envolvem deadlock, já que elas fornecem a base para identificar e evitar situações onde múltiplos processos possam ficar bloqueados indefinidamente esperando por recursos.
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
Por falta de atenção marquei o item E que na verdade é o deadlock. Porém a questão pede a condição para que ocorra um deadlock.
O item A é só para confundir. Os itens B, C e D são condições que antecedem o deadlock conforme a ordem citada abaixo.
Fonte: http://pt.wikipedia.org/wiki/Deadlock
Condições necessárias para a ocorrência de deadlock
No texto acima, foi dito que o deadlock ocorre naturalmente em alguns sistemas. No entanto, é necessário ressaltar que tais sistemas precisam obedecer a algumas condições para que uma situação de deadlock se manifeste.
Essas condições estão listadas abaixo, onde as três primeiras caracterizam um modelo de sistema, e a última é o deadlock propriamente dito: processos que estejam de posse de recursos obtidos anteriormente podem solicitar novos recursos. Caso estes recursos já estejam alocados a outros processos, o processo solicitante deve aguardar pela liberação do mesmo;
- Condição de não-preempção: recursos já alocados a processos não podem ser tomados a força. Eles precisam ser liberados explicitamente pelo processo que detém a sua posse;
- Condição de exclusão mútua: cada recurso ou está alocado a exatamente um processo ou está disponível;
- Condição de posse-e-espera: cada processo pode solicitar um recurso, ter esse recurso alocado para si e ficar bloqueado esperando por um outro recurso;
- Condição de espera circular: deve existir uma cadeia circular de dois ou mais processos, cada um dos quais esperando por um recurso que está com o próximo membro da cadeia.
1) Exclusão mútua;
2) Posse e espera;
3) Não preempção; e
4) Espera cirsular.
Analisando as assertivas:
a) preempção -> NÃO é uma condição para que ocorra o deadlock.
b) exclusão mútua -> Cada recurso só pode estar alocado a um único processo em um determinado instante.
c) posse e espera -> Um processo pode esperar por um recurso alocado a outro e vice e versa.
d) não preempção -> Um recurso NÃO pode ser liberado de um processo apenas porque outros processos o desejam.
e) espera circular -> Um processo pode estar esperando por outros recursos além daqueles já alocados.
Exclusão Mútua;
- Apenas um processo por vez pode alocar e manipular um recurso
- Recurso de uso exclusivo
- Impressora, CD/DVD para gravação
Posse e Espera;
- Um processo, de posse de um recurso, pode solicitar novos recursos
Não-Preempção;
- Um recurso não pode ser removido explicitamente do processo
Ex.: Impressora, 1. CD (Gravação)
Espera Circular.
- Ocorre CICLO no GRAFO de alocação
No Preemption: O.S. não deve realocar recursos que já o foram; eles devem ser liberados pelo processo, de modo voluntário.
Segundo Tanenbaum:
não-preempção: recursos precisam ser liberados explicitamente pelo processo que detém a sua posse;
exclusão mútua: cada recurso ou está alocado a exatamente um processo ou está disponível;
posse-e-espera: o processo tem um recurso, mas fica bloqueado esperando por outro recurso;
espera circular: dois ou mais processos formam um ciclo, cada um esperando por um recurso que está com o próximo.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo