SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Sistemas Operacionais
         -Deadlocks


                                Ernesto Massa
                        (slides fornecidos pela Prentice Hall
                            e adaptados para esta disciplina)




                                                                    1
Pearson Education      Sistemas Operacionais Modernos – 2ª Edição
Deadlock
           Suponha a seguinte situação:
               Um   processo detenha o recurso A e
                solicite o recurso B. Ao mesmo tempo
                um outro processo detém B e solicita A.
               Ambos são bloqueados
                permanentemente!
               Esta situação é chamada de
                DEADLOCK.



Pearson Education
                                                    2
                                  Sistemas Operacionais Modernos – 2ª Edição
Condições Necessárias ao
        Deadlock
           Exclusão Mútua
                   Todo recurso está associado a apenas um processo,
                    ou se encontra disponível.
           Posse e Espera
                   Processos retêm alguns recursos, aguardando por
                    outros recursos necessários.
           Não Preempção
                   Os recursos utilizados por um processo não podem
                    ser retirados dele sem o seu concentimento.
           Espera Circular
                   Formação de uma cadeia circular com 2 ou mais
                    processos. Cada processo está à espera de ao
                    menos um recurso retido pelo membro seguinte
                    dessa cadeia.

Pearson Education
                                                             3
                                           Sistemas Operacionais Modernos – 2ª Edição
Recursos
           Alguns exemplos de recursos em
            um sistema computacional:
               impressoras
               unidades   de disco
               arquivos

           Processos precisam de acesso aos
            recursos em uma ordem lógica
            particular durante o seu
            processamento.


Pearson Education
                                                        4
                                      Sistemas Operacionais Modernos – 2ª Edição
Recursos
           Recursos preemptíveis
               Podem      ser retirados de um processo
                    sem provocar quaisquer efeitos
                    prejudiciais.
           Recursos não preemptíveis
               Induzem       o processo a falhar se forem
                    retirados.




Pearson Education
                                                         5
                                       Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Deadlocks
           Modelagem com grafos dirigidos
                   O recurso R está alocado ao processo A
                   O processo B está solicitando/esperando pelo
                    recurso S
                   Os processos C e D estão em deadlock sobre
                    recursos T e U




Pearson Education
                                                              6
                                            Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Deadlocks
           Estratégias para o tratamento de
            Deadlocks:
               Ignorar       por completo o problema
                       Algoritmo da Avestruz
               Detectar  e recuperar
               Evitar dinâmicamente
                       Alocação cuidadosa de recursos
               Prevenir
                       Remover uma das quatro condições
                        necessárias


Pearson Education
                                                           7
                                         Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Deadlock
        Como ocorre
         um deadlock




      Pode-se identificar as
       quatro condições?




Pearson Education
                                                  8
                                Sistemas Operacionais Modernos – 2ª Edição
Algoritmo do Avestruz
           Finge que o problema não existe
           Razoável quando:
               Deadlocks ocorrem muito raramente
               O custo da prevenção for muito alto

           É uma ponderação entre a
            conveniência e a correção.
                    perfil exato x perfil operacional




Pearson Education
                                                          9
                                        Sistemas Operacionais Modernos – 2ª Edição
Detecção com um Recurso
        de Cada Tipo
           Observe a posse e solicitações de
            recursos
           Um ciclo pode ser encontrado dentro do
            grafo, denotando deadlock




Pearson Education
                                                  10
                                Sistemas Operacionais Modernos – 2ª Edição
Detecção com vários Recursos
        de Cada Tipo

           Estruturas de dados necessárias ao
            algoritmo de detecção de deadlock




Pearson Education
                                               11
                             Sistemas Operacionais Modernos – 2ª Edição
Detecção com Múltiplos Recursos
        de Cada Tipo

    Um exemplo
     de algoritmo:
         Garantia de
          recursos
          suficientes
          para atender
          recursiva-
          mente a todos
          os processos.




Pearson Education
                                             12
                           Sistemas Operacionais Modernos – 2ª Edição
Recuperação de Deadlock
           Preempção de Recurso
               Retiradade um recurso de algum
                processo.
               Dependente da natureza do recurso.

           Reversão de Estado
               Gravação  do estado dos processos
                periodicamente.
               Se for encontrado um deadlock, retorna
                a execução ao último estado seguro.



Pearson Education
                                                    13
                                  Sistemas Operacionais Modernos – 2ª Edição
Recuperação de Deadlock
           Recuperação através da eliminação
            de processos
               Elimina um dos processos no ciclo de
                deadlock.
               A forma mais grosseira porém mais
                simples de se quebrar um deadlock.
               Os outros processos conseguem seus
                recursos recursivamente.
               Deve ser escolhido um processo de
                baixo impacto e que pode ser
                reexecutado desde seu início.
Pearson Education
                                           14
                                  Sistemas Operacionais Modernos – 2ª Edição
Evitando Deadlocks
        Trajetórias de Recursos

           Trajetórias de recursos de dois processos




Pearson Education
                                                   15
                                 Sistemas Operacionais Modernos – 2ª Edição
Estados Seguros e Inseguros
           O estado em (a) é um estado
            seguro




Pearson Education
                                               16
                             Sistemas Operacionais Modernos – 2ª Edição
Estados Seguros e Inseguros
           Demonstração de que o estado em
            (b) é inseguro




Pearson Education
                                              17
                            Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo do Banqueiro
        para um Único Recurso
           Três estados de alocação de
            recursos
              seguro    seguro                     inseguro




Pearson Education
                                               18
                             Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo do Banqueiro
        para Múltiplos Recursos

     Exemplo do
      algoritmo do
      banqueiro com
      múltiplos
      recursos
                                                                        EXIST.
                                                                        ALOC.
                                                                        DISP.




Pearson Education
                                             19
                           Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock
        Exclusão Mútua
           Alguns dispositivos (como uma
            impressora) podem fazer uso de spool
                   o daemon de impressão é o único que usa o
                    recurso impressora.
                   desta forma deadlock envolvendo a impressora
                    é eliminado.
           Nem todos os dispositivos podem fazer
            uso de spool.
           Princípio:
                   Evitar alocar um recurso quando ele não for
                    absolutamente necessário.
                   Assegurar que o menor número possível de
                    processos possa de fato requisitar o recurso.


Pearson Education
                                                            20
                                          Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock
        Posse e Espera
           Exigir que todos os processos requisitem os
            recursos antes de iniciarem
                   um processo nunca tem que esperar por aquilo que
                    precisa

           Problemas
                   Os processos podem não saber quantos e quais
                    recursos vão precisar no início da execução
                   Retenção de recursos por mais tempo que o
                    necessário,.

           Variação:
                   Cada processo deve desistir de todos os recursos,
                    para então requisitar todos os que são
                    imediatamente necessários.
Pearson Education
                                                              21
                                            Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock
        Não Preempção
           Inviável
           Considere um processo de posse de
            uma impressora
               Nomeio da impressão
               Tomada a impressora a força!!??




Pearson Education
                                                   22
                                 Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock
        Espera Circular

           Recursos ordenados numericamente




Pearson Education
                                              23
                            Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock
           Resumo das abordagens para
            prevenir deadlock




Pearson Education
                                              24
                            Sistemas Operacionais Modernos – 2ª Edição

Weitere ähnliche Inhalte

Was ist angesagt?

Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Messias Batista
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Cristiano Pires Martins
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionaisAparicio Junior
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUAlexandre Duarte
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoAdriano Teixeira de Souza
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosLuiz Arthur
 
Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivosPaulo Fonseca
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Leinylson Fontinele
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaDaniel Arndt Alves
 
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Sérgio Souza Costa
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosCharles Fortes
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoLeinylson Fontinele
 
Aula01 projeto de redes de computadores
Aula01   projeto de redes de computadoresAula01   projeto de redes de computadores
Aula01 projeto de redes de computadoresCarlos Veiga
 

Was ist angesagt? (20)

Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
Aula 02.1 - Terminologia da informática e sistemas de informação- os elemento...
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
 
Conceitos de sistemas operacionais
Conceitos de sistemas operacionaisConceitos de sistemas operacionais
Conceitos de sistemas operacionais
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - Introdução
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
 
Apostila 8 sistema de arquivos
Apostila 8   sistema de arquivosApostila 8   sistema de arquivos
Apostila 8 sistema de arquivos
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
Software Livre (Conceitos, contextualização histórica, licenças, sistemas ope...
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
 
Sistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - ApresentaçãoSistemas Computacionais - Aula 01 - Apresentação
Sistemas Computacionais - Aula 01 - Apresentação
 
Apresentação TCC
Apresentação TCCApresentação TCC
Apresentação TCC
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
 
Aula01 projeto de redes de computadores
Aula01   projeto de redes de computadoresAula01   projeto de redes de computadores
Aula01 projeto de redes de computadores
 

Ähnlich wie 2009 1 - sistemas operacionais - aula 7 - deadlocks

2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processosComputação Depressão
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicosComputação Depressão
 
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processosComputação Depressão
 
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicosComputação Depressão
 
Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2Cristiano Pires Martins
 

Ähnlich wie 2009 1 - sistemas operacionais - aula 7 - deadlocks (7)

2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
 
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
 
Aula 03-deadlock
Aula 03-deadlockAula 03-deadlock
Aula 03-deadlock
 
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos2009 1 - sistemas operacionais - aula 2 - conceitos basicos
2009 1 - sistemas operacionais - aula 2 - conceitos basicos
 
Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2
 

Mehr von Computação Depressão

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 

Mehr von Computação Depressão (20)

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
 

2009 1 - sistemas operacionais - aula 7 - deadlocks

  • 1. Sistemas Operacionais -Deadlocks Ernesto Massa (slides fornecidos pela Prentice Hall e adaptados para esta disciplina) 1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  • 2. Deadlock  Suponha a seguinte situação:  Um processo detenha o recurso A e solicite o recurso B. Ao mesmo tempo um outro processo detém B e solicita A.  Ambos são bloqueados permanentemente!  Esta situação é chamada de DEADLOCK. Pearson Education 2 Sistemas Operacionais Modernos – 2ª Edição
  • 3. Condições Necessárias ao Deadlock  Exclusão Mútua  Todo recurso está associado a apenas um processo, ou se encontra disponível.  Posse e Espera  Processos retêm alguns recursos, aguardando por outros recursos necessários.  Não Preempção  Os recursos utilizados por um processo não podem ser retirados dele sem o seu concentimento.  Espera Circular  Formação de uma cadeia circular com 2 ou mais processos. Cada processo está à espera de ao menos um recurso retido pelo membro seguinte dessa cadeia. Pearson Education 3 Sistemas Operacionais Modernos – 2ª Edição
  • 4. Recursos  Alguns exemplos de recursos em um sistema computacional:  impressoras  unidades de disco  arquivos  Processos precisam de acesso aos recursos em uma ordem lógica particular durante o seu processamento. Pearson Education 4 Sistemas Operacionais Modernos – 2ª Edição
  • 5. Recursos  Recursos preemptíveis  Podem ser retirados de um processo sem provocar quaisquer efeitos prejudiciais.  Recursos não preemptíveis  Induzem o processo a falhar se forem retirados. Pearson Education 5 Sistemas Operacionais Modernos – 2ª Edição
  • 6. Modelagem de Deadlocks  Modelagem com grafos dirigidos  O recurso R está alocado ao processo A  O processo B está solicitando/esperando pelo recurso S  Os processos C e D estão em deadlock sobre recursos T e U Pearson Education 6 Sistemas Operacionais Modernos – 2ª Edição
  • 7. Modelagem de Deadlocks  Estratégias para o tratamento de Deadlocks:  Ignorar por completo o problema  Algoritmo da Avestruz  Detectar e recuperar  Evitar dinâmicamente  Alocação cuidadosa de recursos  Prevenir  Remover uma das quatro condições necessárias Pearson Education 7 Sistemas Operacionais Modernos – 2ª Edição
  • 8. Modelagem de Deadlock  Como ocorre um deadlock  Pode-se identificar as quatro condições? Pearson Education 8 Sistemas Operacionais Modernos – 2ª Edição
  • 9. Algoritmo do Avestruz  Finge que o problema não existe  Razoável quando:  Deadlocks ocorrem muito raramente  O custo da prevenção for muito alto  É uma ponderação entre a conveniência e a correção. perfil exato x perfil operacional Pearson Education 9 Sistemas Operacionais Modernos – 2ª Edição
  • 10. Detecção com um Recurso de Cada Tipo  Observe a posse e solicitações de recursos  Um ciclo pode ser encontrado dentro do grafo, denotando deadlock Pearson Education 10 Sistemas Operacionais Modernos – 2ª Edição
  • 11. Detecção com vários Recursos de Cada Tipo  Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education 11 Sistemas Operacionais Modernos – 2ª Edição
  • 12. Detecção com Múltiplos Recursos de Cada Tipo  Um exemplo de algoritmo:  Garantia de recursos suficientes para atender recursiva- mente a todos os processos. Pearson Education 12 Sistemas Operacionais Modernos – 2ª Edição
  • 13. Recuperação de Deadlock  Preempção de Recurso  Retiradade um recurso de algum processo.  Dependente da natureza do recurso.  Reversão de Estado  Gravação do estado dos processos periodicamente.  Se for encontrado um deadlock, retorna a execução ao último estado seguro. Pearson Education 13 Sistemas Operacionais Modernos – 2ª Edição
  • 14. Recuperação de Deadlock  Recuperação através da eliminação de processos  Elimina um dos processos no ciclo de deadlock.  A forma mais grosseira porém mais simples de se quebrar um deadlock.  Os outros processos conseguem seus recursos recursivamente.  Deve ser escolhido um processo de baixo impacto e que pode ser reexecutado desde seu início. Pearson Education 14 Sistemas Operacionais Modernos – 2ª Edição
  • 15. Evitando Deadlocks Trajetórias de Recursos  Trajetórias de recursos de dois processos Pearson Education 15 Sistemas Operacionais Modernos – 2ª Edição
  • 16. Estados Seguros e Inseguros  O estado em (a) é um estado seguro Pearson Education 16 Sistemas Operacionais Modernos – 2ª Edição
  • 17. Estados Seguros e Inseguros  Demonstração de que o estado em (b) é inseguro Pearson Education 17 Sistemas Operacionais Modernos – 2ª Edição
  • 18. O Algoritmo do Banqueiro para um Único Recurso  Três estados de alocação de recursos seguro seguro inseguro Pearson Education 18 Sistemas Operacionais Modernos – 2ª Edição
  • 19. O Algoritmo do Banqueiro para Múltiplos Recursos  Exemplo do algoritmo do banqueiro com múltiplos recursos EXIST. ALOC. DISP. Pearson Education 19 Sistemas Operacionais Modernos – 2ª Edição
  • 20. Prevenção de Deadlock Exclusão Mútua  Alguns dispositivos (como uma impressora) podem fazer uso de spool  o daemon de impressão é o único que usa o recurso impressora.  desta forma deadlock envolvendo a impressora é eliminado.  Nem todos os dispositivos podem fazer uso de spool.  Princípio:  Evitar alocar um recurso quando ele não for absolutamente necessário.  Assegurar que o menor número possível de processos possa de fato requisitar o recurso. Pearson Education 20 Sistemas Operacionais Modernos – 2ª Edição
  • 21. Prevenção de Deadlock Posse e Espera  Exigir que todos os processos requisitem os recursos antes de iniciarem  um processo nunca tem que esperar por aquilo que precisa  Problemas  Os processos podem não saber quantos e quais recursos vão precisar no início da execução  Retenção de recursos por mais tempo que o necessário,.  Variação:  Cada processo deve desistir de todos os recursos, para então requisitar todos os que são imediatamente necessários. Pearson Education 21 Sistemas Operacionais Modernos – 2ª Edição
  • 22. Prevenção de Deadlock Não Preempção  Inviável  Considere um processo de posse de uma impressora  Nomeio da impressão  Tomada a impressora a força!!?? Pearson Education 22 Sistemas Operacionais Modernos – 2ª Edição
  • 23. Prevenção de Deadlock Espera Circular  Recursos ordenados numericamente Pearson Education 23 Sistemas Operacionais Modernos – 2ª Edição
  • 24. Prevenção de Deadlock  Resumo das abordagens para prevenir deadlock Pearson Education 24 Sistemas Operacionais Modernos – 2ª Edição