SlideShare uma empresa Scribd logo
1 de 16
Universidade Estadual de Goiás
Unidade universitária de Crixás
PROFESSORA: CAMILA DO NASCIMENTO SEIXAS
 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.
EXCLUSÃO MÚTUA
POSSE E ESPERA
INEXISTÊNCIA DE PREEMPÇÃO
ESPERA CIRCULAR
 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.
 Usar um protocolo para prevenir ou impedir
a ocorrência de deadlocks, garantindo que
o sistema nunca entre em estado de
deadlocks.
 Pode-se permitir que o sistema entre em um
estado de deadlock, detecte-o e execute
uma recuperação.
 Pode-se ignorar o problema e fingir que
deadlocks nunca ocorrerão no sistema.
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.
 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.
 Para garantir que esta situação não ocorra
no sistema, devemos garantir que, sempre
que um processo solicitar um recurso, este
não esteja ocupado por outro.
 Um protocolo pode permitir que um
processo solicite recursos apenas quando
ele não tenha qualquer recurso, ou seja,
antes de poder solicitar qualquer recurso
adicional deve liberar todos os outros
alocados a ele.
 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.
 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.
 Trabalha com algoritmos e restrições para garantir
a não ocorrência de deadlocks.
 Os algoritmos mais simples pedem que os
processos declarem a quantidade máxima de
recursos que ele pode precisar. Assim, é possível
construir instruções que evitem o deadlock.
 Com este conhecimento o sistema pode decidir,
para cada solicitação, se o processo deve ou não
esperar de modo a evitar um possível deadlock
futuro.
 As restrições garantem que pelo menos uma das
condições necessárias para a ocorrência de
deadlocks não ocorra.
 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.
 Quando um deadlock é detectado. Uma
possibilidade é informar ao operador o
ocorrido e deixá-lo lidar com o problema.
 Outra possibilidade é permitir que o
sistema se recupere automaticamente.
Existem duas opções para a interrupção
de um deadlock. Uma é simplesmente
abortar um ou mais processos. A outra é
provocar a preempção de alguns
recursos.
Deadlock: Condições, Prevenção e Detecção

Mais conteúdo relacionado

Mais de camila_seixas

Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivoscamila_seixas
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualizaçãocamila_seixas
 
Aula 3: Infraestrutura e redes ad-hoc
Aula 3: Infraestrutura e redes ad-hocAula 3: Infraestrutura e redes ad-hoc
Aula 3: Infraestrutura e redes ad-hoccamila_seixas
 
Aula 2: Fundamentos e canais de redes sem fio
Aula 2: Fundamentos e canais de redes sem fioAula 2: Fundamentos e canais de redes sem fio
Aula 2: Fundamentos e canais de redes sem fiocamila_seixas
 
Aula 1: Conceitos de redes sem fio
Aula 1: Conceitos de redes sem fioAula 1: Conceitos de redes sem fio
Aula 1: Conceitos de redes sem fiocamila_seixas
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamentocamila_seixas
 
Aula 11 - Unidades Métricas
Aula 11 - Unidades MétricasAula 11 - Unidades Métricas
Aula 11 - Unidades Métricascamila_seixas
 
Aula 10 - Exclusão Mútua e Região Crítica
Aula 10 - Exclusão Mútua e Região CríticaAula 10 - Exclusão Mútua e Região Crítica
Aula 10 - Exclusão Mútua e Região Críticacamila_seixas
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento camila_seixas
 
Aula 11 protocolos e comunicação
Aula 11   protocolos e comunicaçãoAula 11   protocolos e comunicação
Aula 11 protocolos e comunicaçãocamila_seixas
 
Aula 13 sistemas de detecção de intrusão
Aula 13   sistemas de detecção de intrusãoAula 13   sistemas de detecção de intrusão
Aula 13 sistemas de detecção de intrusãocamila_seixas
 
Aula 11 protocolos e comunicação
Aula 11   protocolos e comunicaçãoAula 11   protocolos e comunicação
Aula 11 protocolos e comunicaçãocamila_seixas
 

Mais de camila_seixas (12)

Aula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivosAula 3: Introdução a sistema de arquivos
Aula 3: Introdução a sistema de arquivos
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualização
 
Aula 3: Infraestrutura e redes ad-hoc
Aula 3: Infraestrutura e redes ad-hocAula 3: Infraestrutura e redes ad-hoc
Aula 3: Infraestrutura e redes ad-hoc
 
Aula 2: Fundamentos e canais de redes sem fio
Aula 2: Fundamentos e canais de redes sem fioAula 2: Fundamentos e canais de redes sem fio
Aula 2: Fundamentos e canais de redes sem fio
 
Aula 1: Conceitos de redes sem fio
Aula 1: Conceitos de redes sem fioAula 1: Conceitos de redes sem fio
Aula 1: Conceitos de redes sem fio
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamento
 
Aula 11 - Unidades Métricas
Aula 11 - Unidades MétricasAula 11 - Unidades Métricas
Aula 11 - Unidades Métricas
 
Aula 10 - Exclusão Mútua e Região Crítica
Aula 10 - Exclusão Mútua e Região CríticaAula 10 - Exclusão Mútua e Região Crítica
Aula 10 - Exclusão Mútua e Região Crítica
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento
 
Aula 11 protocolos e comunicação
Aula 11   protocolos e comunicaçãoAula 11   protocolos e comunicação
Aula 11 protocolos e comunicação
 
Aula 13 sistemas de detecção de intrusão
Aula 13   sistemas de detecção de intrusãoAula 13   sistemas de detecção de intrusão
Aula 13 sistemas de detecção de intrusão
 
Aula 11 protocolos e comunicação
Aula 11   protocolos e comunicaçãoAula 11   protocolos e comunicação
Aula 11 protocolos e comunicação
 

Deadlock: Condições, Prevenção e Detecção

  • 1. Universidade Estadual de Goiás Unidade universitária de Crixás PROFESSORA: CAMILA DO NASCIMENTO SEIXAS
  • 2.
  • 3.  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.
  • 4. EXCLUSÃO MÚTUA POSSE E ESPERA INEXISTÊNCIA DE PREEMPÇÃO ESPERA CIRCULAR
  • 5.  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.
  • 6.  Usar um protocolo para prevenir ou impedir a ocorrência de deadlocks, garantindo que o sistema nunca entre em estado de deadlocks.  Pode-se permitir que o sistema entre em um estado de deadlock, detecte-o e execute uma recuperação.  Pode-se ignorar o problema e fingir que deadlocks nunca ocorrerão no sistema.
  • 7.
  • 8. 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.
  • 9.  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.
  • 10.  Para garantir que esta situação não ocorra no sistema, devemos garantir que, sempre que um processo solicitar um recurso, este não esteja ocupado por outro.  Um protocolo pode permitir que um processo solicite recursos apenas quando ele não tenha qualquer recurso, ou seja, antes de poder solicitar qualquer recurso adicional deve liberar todos os outros alocados a ele.
  • 11.  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.
  • 12.  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.
  • 13.  Trabalha com algoritmos e restrições para garantir a não ocorrência de deadlocks.  Os algoritmos mais simples pedem que os processos declarem a quantidade máxima de recursos que ele pode precisar. Assim, é possível construir instruções que evitem o deadlock.  Com este conhecimento o sistema pode decidir, para cada solicitação, se o processo deve ou não esperar de modo a evitar um possível deadlock futuro.  As restrições garantem que pelo menos uma das condições necessárias para a ocorrência de deadlocks não ocorra.
  • 14.  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.
  • 15.  Quando um deadlock é detectado. Uma possibilidade é informar ao operador o ocorrido e deixá-lo lidar com o problema.  Outra possibilidade é permitir que o sistema se recupere automaticamente. Existem duas opções para a interrupção de um deadlock. Uma é simplesmente abortar um ou mais processos. A outra é provocar a preempção de alguns recursos.