Aula 14 - Deadlocks

16

Click here to load reader

Transcript of Aula 14 - Deadlocks

Page 1: Aula 14 - Deadlocks

Universidade Estadual de Goiás

Unidade universitária de Crixás

PROFESSORA: CAMILA DO NASCIMENTO SEIXAS

Page 2: Aula 14 - Deadlocks
Page 3: Aula 14 - Deadlocks

SITUAÇÃO EM QUE DOIS OU MAIS

PROCESSOS ESPERAM

INDEFINIDAMENTE POR UM EVENTO

QUE SÓ PODE SER CAUSADO POR

UM DOS PROCESSOS EM ESPERA,

POIS OS RECURSOS QUE ELE

SOLICITOU ESTÃO RESERVADOS

PARA OUTROS PROCESSOS TAMBÉM

EM ESPERA.

Page 4: Aula 14 - Deadlocks

EXCLUSÃO MÚTUA

POSSE E ESPERA

INEXISTÊNCIA DE PREEMPÇÃO

ESPERA CIRCULAR

Page 5: Aula 14 - Deadlocks

Todas as quatro condições anteriores

devem estar presentes para que um

deadlock aconteça.

A condição de espera circular implica

a condição de posse e espera;

portanto, as quatro não podem ser

completamente independentes.

Pode-se impedir o deadlock

garantindo que nenhuma das

situações anteriores aconteça.

Page 6: Aula 14 - Deadlocks

Usar um protocolo para prevenir ou impedira ocorrência de deadlocks, garantindo queo sistema nunca entre em estado dedeadlocks.

Pode-se permitir que o sistema entre em umestado de deadlock, detecte-o e executeuma recuperação.

Pode-se ignorar o problema e fingir quedeadlocks nunca ocorrerão no sistema.

Page 7: Aula 14 - Deadlocks
Page 8: Aula 14 - Deadlocks

Para que um deadlock ocorra,

cada uma das quatro

condições necessárias deve

estar presente.

Ao assegurar que pelo menos

uma dessas condições não

possa acontecer, podemos nos

prevenir contra a ocorrência de

um deadlock.

Page 9: Aula 14 - Deadlocks

A Condição de Exclusão Mútua

deve estar presente para recursos

não compartilháveis. Visto que um

processo não precisa esperar por

um recurso compartilhável.

Em geral, não podemos prevenir

contra deadlocks negando uma

condição de Exclusão Mútua.

Page 10: Aula 14 - Deadlocks

Para garantir que esta situação não ocorrano sistema, devemos garantir que, sempreque um processo solicitar um recurso, estenão esteja ocupado por outro.

Um protocolo pode permitir que umprocesso solicite recursos apenas quandoele não tenha qualquer recurso, ou seja,antes de poder solicitar qualquer recursoadicional deve liberar todos os outrosalocados a ele.

Page 11: Aula 14 - Deadlocks

A terceira condição necessária para a

ocorrência de deadlocks é que não

haja preempção de recursos que já

tenham sido alocados.

Para impedir esta situação é usado um

protocolo que, se um processo estiver

em posse de alguns recursos e solicitar

outro recurso, todos os recursos

utilizados pelo processo serão liberados.

Page 12: Aula 14 - Deadlocks

Situação em que os processos em espera

(circular) aguardam por recursos já

alocados a outro processo e assim por

diante.

Uma maneira de garantir que essa

condição não ocorra é impor uma

ordenação absoluta a todos os tipos de

recursos e requerer que cada processo

solicite apenas recursos em uma ordem

crescente.

Page 13: Aula 14 - Deadlocks

Trabalha com algoritmos e restrições para garantira não ocorrência de deadlocks.

Os algoritmos mais simples pedem que osprocessos declarem a quantidade máxima derecursos que ele pode precisar. Assim, é possívelconstruir instruções que evitem o deadlock.

Com este conhecimento o sistema pode decidir,para cada solicitação, se o processo deve ou nãoesperar de modo a evitar um possível deadlockfuturo.

As restrições garantem que pelo menos uma dascondições necessárias para a ocorrência dedeadlocks não ocorra.

Page 14: Aula 14 - Deadlocks

Se nenhuma das opções anteriores forem

empregadas, o sistema pode fornecer:

› Um algoritmo que examine o estado do sistema

para determinar se ocorreu o deadlock.

› Um algorimo de recuperação do deadlock.

Page 15: Aula 14 - Deadlocks

Quando um deadlock é detectado. Umapossibilidade é informar ao operador oocorrido e deixá-lo lidar com o problema.

Outra possibilidade é permitir que osistema se recupere automaticamente.Existem duas opções para a interrupçãode um deadlock. Uma é simplesmenteabortar um ou mais processos. A outra éprovocar a preempção de algunsrecursos.

Page 16: Aula 14 - Deadlocks