SlideShare a Scribd company logo
1 of 30
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1
Deadlocks - Impasses
Capítulo 3
3.1. Recurso
3.2. Introdução aos deadlocks
3.3. Algoritmo do avestruz
3.4. Detecção e recuperação de deadlocks
3.5. Evitando deadlocks
3.6. Prevenção de deadlocks
3.7. Outras questões
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2
Recursos
• Exemplos de recursos de computador
– impressoras
– unidades de fita
– tabelas
• Processos precisam de acesso aos recursos numa
ordem racional
• Suponha que 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 e assim permanecem
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3
Recursos (1)
• Deadlocks ocorrem quando …
– garante-se aos processos acesso exclusivo aos
dispositivos
– esses dispositivos são normalmente chamados de
recursos
• Recursos preemptíveis
– podem ser retirados de um processo sem quaisquer
efeitos prejudiciais
• Recursos não preemptíveis
– vão induzir o processo a falhar se forem retirados
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4
Recursos (2)
• Seqüência de eventos necessários ao
uso de um recurso
1. solicitar o recurso
2. usar o recurso
3. liberar o recurso
• Deve esperar se solicitação é negada
– processo solicitante pode ser bloqueado
– pode falhar resultando em um código de erro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5
Introdução aos Deadlocks
• Definição formal:
Um conjunto de processos está em situação de
deadlock se todo processo pertencente ao
conjunto estiver esperando por um evento que
somente um outro processo desse mesmo
conjunto poderá fazer acontecer
• Normalmente o evento é a liberação de um
recurso atualmente retido
• Nenhum dos processos pode...
– executar
– liberar recursos
– ser acordado
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6
Quatro Condições para Deadlock
1. Condição de exclusão mútua
• todo recurso está ou associado a um processo ou
disponível
1. Condição de posse e espera
• processos que retêm recursos podem solicitar novos
recursos
1. Condição de não preempção
• recursos concedidos previamente não podem ser
forçosamente tomados
1. Condição de espera circular
• deve ser uma cadeia circular de 2 ou mais processos
• cada um está à espera de recurso retido pelo
membro seguinte dessa cadeia
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7
Modelagem de Deadlock (2)
• Modelado com grafos dirigidos
a) recurso R alocado ao processo A
b) processo B está solicitando/esperando pelo
recurso S
c) processos C e D estão em deadlock sobre
recursos T e U
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8
Modelagem de Deadlock (3)
Estratégias para tratar Deadlocks
1. ignorar por completo o problema
2. detecção e recuperação
3. evitação dinâmica
• alocação cuidadosa de recursos
1. prevenção
• negação de uma das quatro condições
necessárias
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9
Modelagem de Deadlock (4)
Como ocorre um deadlock
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10
Modelagem de Deadlock (5)
Como pode ser evitado um deadlock
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11
Algoritmo do Avestruz
• Finge que o problema não existe
• Razoável se
– deadlocks ocorrem muito raramente
– custo da prevenção é alto
• UNIX e Windows seguem esta
abordagem
• É uma ponderação entre
– conveniência
– correção
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12
Detecção com um Recurso
de Cada Tipo (1)
Encontre o Deadlock.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13
Detecção com um Recurso
de Cada Tipo (1)
• Observe a posse e solicitações de recursos
• Um ciclo pode ser encontrado dentro do grafo,
denotando deadlock
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14
Detecção com um Recurso
de Cada Tipo (2)
Estruturas de dados necessárias ao algoritmo de
detecção de deadlock
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15
Detecção com um Recurso
de Cada Tipo (3)
Um exemplo para o algoritmo de detecção de deadlocks
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16
Recuperação de Deadlock (1)
• Recuperação através de preempção
– retirar um recurso de algum outro processo
– depende da natureza do recurso
• Recuperação através de reversão de estado
– verifica um processo periodicamente
– usa este estado salvo
– reinicia o processo se este é encontrado em
estado de deadlock
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17
Recuperação de Deadlock (2)
• Recuperação através da eliminação de
processos
– forma mais grosseira mas também mais
simples de quebrar um deadlock
– elimina um dos processos no ciclo de deadlock
– os outros processos conseguem seus recursos
– escolhe processo que pode ser reexecutado
desde seu início
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18
Evitando Deadlocks
Trajetórias de Recursos
Trajetórias de recursos de dois processos
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19
Estados Seguros e Inseguros (1)
Demonstração de que o estado em (a) é seguro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 20
Estados Seguros e Inseguros (2)
Demonstração de que o estado em (b) é inseguro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21
O Algoritmo do Banqueiro
para um Único Recurso
Três estados de alocação de recursos
a) seguro
b) seguro
c) inseguro
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22
O Algoritmo do Banqueiro
para Múltiplos Recursos
Exemplo do algoritmo do banqueiro com múltiplos recursos
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 23
Prevenção de Deadlock
Atacando a Condição de 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 necessário
– tentar assegurar que o menor número possível de
processos possa de fato requisitar o recurso
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24
Prevenção de Deadlock
Atacando a Condição de 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
– podem não saber quantos e quais recursos vão precisar no
início da execução
– e também retêm recursos que outros processos poderiam estar
usando
• Variação:
– processo deve desistir de todos os recursos
– para então requisitar todos os que são imediatamente
necessários
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 25
Prevenção de Deadlock
Atacando a Condição de Não Preempção
• Esta é uma opção inviável
• Considere um processo de posse de uma
impressora
– no meio da impressão
– retoma a impressora a força
– !!??
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 26
Prevenção de Deadlock
Atacando a Condição de Espera Circular (1)
a) Recursos ordenados numericamente
b) Um grafo de recursos
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 27
Prevenção de Deadlock
Resumo das abordagens para prevenir deadlock
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 28
Outras Questões
Bloqueio em Duas Fases
• Fase um
– processo tenta bloquear todos os registros de que precisa,
um de cada vez
– Se registro necessário já estiver bloqueado, reinicia
novamente
– (nenhum trabalho real é feito na fase um)
• Se a fase um for bem sucedida, começa a fase dois,
– execução de atualizações
– liberação de bloqueios
• Observe a similaridade com a requisição de todos os
recursos de uma só vez
• Algoritmo funciona onde o programador tiver
organizado tudo cuidadosamente para que
– o programa possa ser parado, reiniciado
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 29
Deadlocks que não
Envolvem Recursos
• É possível que dois processos entrem
em situação de deadlock
– cada um espera que o outro faça algo
• Pode ocorrer com semáforos
– cada processo executa um down() sobre
dois semáforos (mutex e outro qualquer)
– se executados na ordem errada, resulta
em deadlock
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 30
Condição de Inanição - Starvation
• Algoritmo para alocar um recurso
– pode ser ceder para o job mais curto primeiro
• Funciona bem para múltiplos jobs curtos em um
sistema
• Jobs longos podem ser preteridos indefinidamente
– mesmo não estando bloqueados
• solução:
– política do primeiro a chegar, primeiro a ser servido

More Related Content

What's hot

Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSCleber Ramos
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Leinylson Fontinele
 
Capítulo 10 Sistemas Operacionais Modernos
Capítulo 10 Sistemas Operacionais ModernosCapítulo 10 Sistemas Operacionais Modernos
Capítulo 10 Sistemas Operacionais ModernosWellington Oliveira
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memóriaPAULO Moreira
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
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
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Leinylson Fontinele
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Frederico Madeira
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Leinylson Fontinele
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.dannas_06
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 

What's hot (20)

Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFS
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
 
Capítulo 10 Sistemas Operacionais Modernos
Capítulo 10 Sistemas Operacionais ModernosCapítulo 10 Sistemas Operacionais Modernos
Capítulo 10 Sistemas Operacionais Modernos
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
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
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)Sistemas De Arquivos Distribuídos (SAD)
Sistemas De Arquivos Distribuídos (SAD)
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Sistemas de arquivos
Sistemas de arquivosSistemas de arquivos
Sistemas de arquivos
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 

Viewers also liked

Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processosTalles Nascimento Rodrigues
 
Método AHP em Processo Decisório
Método AHP em Processo DecisórioMétodo AHP em Processo Decisório
Método AHP em Processo DecisórioWellington Oliveira
 
Prioridades de processos - nice e renice
Prioridades de processos - nice e renicePrioridades de processos - nice e renice
Prioridades de processos - nice e reniceFábio dos Reis
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosRobson Ferreira
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesMauro Duarte
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesMauro Duarte
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03thomasdacosta
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesMauro Duarte
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosLuiz Arthur
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesMauro Duarte
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadoresMauro Duarte
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos BásicosMauro Duarte
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata Mauro Duarte
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06R D
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídiasMauro Duarte
 

Viewers also liked (20)

SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processos
 
Método AHP em Processo Decisório
Método AHP em Processo DecisórioMétodo AHP em Processo Decisório
Método AHP em Processo Decisório
 
Banco de Dados 2: Controle de Concorrência
Banco de Dados 2: Controle de ConcorrênciaBanco de Dados 2: Controle de Concorrência
Banco de Dados 2: Controle de Concorrência
 
Prioridades de processos - nice e renice
Prioridades de processos - nice e renicePrioridades de processos - nice e renice
Prioridades de processos - nice e renice
 
Os pássaros
Os pássarosOs pássaros
Os pássaros
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril Borges
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril Borges
 
Programação Concorrente - Aula 03
Programação Concorrente - Aula 03Programação Concorrente - Aula 03
Programação Concorrente - Aula 03
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril Borges
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril Borges
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadores
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata
 
Apresentacao Aula04 So
Apresentacao Aula04 SoApresentacao Aula04 So
Apresentacao Aula04 So
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06
 
Básico PHP: Introdução HTML
Básico PHP: Introdução HTMLBásico PHP: Introdução HTML
Básico PHP: Introdução HTML
 
7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias7 - Introdução ao desenvolvimento web - mídias
7 - Introdução ao desenvolvimento web - mídias
 

Similar to Sistemas Operacionais Modernos Capítulo 3 Deadlock

Similar to Sistemas Operacionais Modernos Capítulo 3 Deadlock (20)

Ad d lock
Ad d lockAd d lock
Ad d lock
 
2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks
 
Parte1f
Parte1fParte1f
Parte1f
 
Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: Deadlocks
 
Impasses S.O
Impasses S.OImpasses S.O
Impasses S.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-2
 
Questionário sobre processos
Questionário sobre processosQuestionário sobre processos
Questionário sobre processos
 
Aula 03-deadlock
Aula 03-deadlockAula 03-deadlock
Aula 03-deadlock
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
Criando Aplicações Resilientes
Criando Aplicações ResilientesCriando Aplicações Resilientes
Criando Aplicações Resilientes
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Deadlocks (Resumo)
Deadlocks (Resumo)Deadlocks (Resumo)
Deadlocks (Resumo)
 
Processos
ProcessosProcessos
Processos
 
Mutex and monitores
Mutex and monitoresMutex and monitores
Mutex and monitores
 
Sist operacionais
Sist operacionaisSist operacionais
Sist operacionais
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
Escalonamento de Processos
Escalonamento de ProcessosEscalonamento de Processos
Escalonamento de Processos
 

More from Wellington Oliveira

Configuração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandosConfiguração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandosWellington Oliveira
 
CISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acessoCISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acessoWellington Oliveira
 
WANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de AcessoWANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de AcessoWellington Oliveira
 
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IPCCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IPWellington Oliveira
 
Prática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLsPrática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLsWellington Oliveira
 
Prática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - BalanceadorPrática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - BalanceadorWellington Oliveira
 
Prática Laboratório CISCO - NAT
Prática Laboratório CISCO - NATPrática Laboratório CISCO - NAT
Prática Laboratório CISCO - NATWellington Oliveira
 
Processo Decisório - Introdução
Processo Decisório - IntroduçãoProcesso Decisório - Introdução
Processo Decisório - IntroduçãoWellington Oliveira
 
Memória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresMemória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Wellington Oliveira
 
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
 
Redes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 TanenbaumRedes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 TanenbaumWellington Oliveira
 
Lógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógicaLógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógicaWellington Oliveira
 

More from Wellington Oliveira (20)

Usuário LInux
Usuário LInuxUsuário LInux
Usuário LInux
 
Configuração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandosConfiguração de Interface de Rede no Linux por comandos
Configuração de Interface de Rede no Linux por comandos
 
CISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acessoCISCO CCNA WANs Prática ACL _ Lista de controle de acesso
CISCO CCNA WANs Prática ACL _ Lista de controle de acesso
 
WANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de AcessoWANs e Roteadores Cap. 11 - Lista de Controle de Acesso
WANs e Roteadores Cap. 11 - Lista de Controle de Acesso
 
LInux - Iinit e systemd
LInux - Iinit e systemdLInux - Iinit e systemd
LInux - Iinit e systemd
 
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IPCCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
CCNA - Conjunto de Protocolos TCP/IP e endereçamento IP
 
Prática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLsPrática Laboratório CISCO - ACLs
Prática Laboratório CISCO - ACLs
 
Prática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - BalanceadorPrática Laboratório CISCO - Balanceador
Prática Laboratório CISCO - Balanceador
 
Prática Laboratório CISCO - NAT
Prática Laboratório CISCO - NATPrática Laboratório CISCO - NAT
Prática Laboratório CISCO - NAT
 
Questões Cisco CCNA Cap 6
Questões Cisco CCNA Cap 6Questões Cisco CCNA Cap 6
Questões Cisco CCNA Cap 6
 
Processo Decisório - Introdução
Processo Decisório - IntroduçãoProcesso Decisório - Introdução
Processo Decisório - Introdução
 
Memória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de ComputadoresMemória Interna - Arquitetura e Organização de Computadores
Memória Interna - Arquitetura e Organização de Computadores
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
Evolução e Desempenho de Computadores - Arquitetura e Organização de Computad...
 
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
 
Redes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 TanenbaumRedes Teórico - Capítulo 02 Tanenbaum
Redes Teórico - Capítulo 02 Tanenbaum
 
Lógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógicaLógica e Algoritmos (pseudocódigo e C++) A lógica
Lógica e Algoritmos (pseudocódigo e C++) A lógica
 
Introdução ao PHP Parte 1
Introdução ao PHP Parte 1Introdução ao PHP Parte 1
Introdução ao PHP Parte 1
 
Introdução ao PHP Parte 2
Introdução ao PHP Parte 2Introdução ao PHP Parte 2
Introdução ao PHP Parte 2
 
Curso PHP: Básico JavaScript
Curso PHP: Básico JavaScriptCurso PHP: Básico JavaScript
Curso PHP: Básico JavaScript
 

Recently uploaded

Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)Centro Jacques Delors
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticash5kpmr7w7
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVlenapinto
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...AnaAugustaLagesZuqui
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Centro Jacques Delors
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...SileideDaSilvaNascim
 

Recently uploaded (20)

Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 

Sistemas Operacionais Modernos Capítulo 3 Deadlock

  • 1. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Deadlocks - Impasses Capítulo 3 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks 3.7. Outras questões
  • 2. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2 Recursos • Exemplos de recursos de computador – impressoras – unidades de fita – tabelas • Processos precisam de acesso aos recursos numa ordem racional • Suponha que 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 e assim permanecem
  • 3. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3 Recursos (1) • Deadlocks ocorrem quando … – garante-se aos processos acesso exclusivo aos dispositivos – esses dispositivos são normalmente chamados de recursos • Recursos preemptíveis – podem ser retirados de um processo sem quaisquer efeitos prejudiciais • Recursos não preemptíveis – vão induzir o processo a falhar se forem retirados
  • 4. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4 Recursos (2) • Seqüência de eventos necessários ao uso de um recurso 1. solicitar o recurso 2. usar o recurso 3. liberar o recurso • Deve esperar se solicitação é negada – processo solicitante pode ser bloqueado – pode falhar resultando em um código de erro
  • 5. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5 Introdução aos Deadlocks • Definição formal: Um conjunto de processos está em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poderá fazer acontecer • Normalmente o evento é a liberação de um recurso atualmente retido • Nenhum dos processos pode... – executar – liberar recursos – ser acordado
  • 6. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6 Quatro Condições para Deadlock 1. Condição de exclusão mútua • todo recurso está ou associado a um processo ou disponível 1. Condição de posse e espera • processos que retêm recursos podem solicitar novos recursos 1. Condição de não preempção • recursos concedidos previamente não podem ser forçosamente tomados 1. Condição de espera circular • deve ser uma cadeia circular de 2 ou mais processos • cada um está à espera de recurso retido pelo membro seguinte dessa cadeia
  • 7. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7 Modelagem de Deadlock (2) • Modelado com grafos dirigidos a) recurso R alocado ao processo A b) processo B está solicitando/esperando pelo recurso S c) processos C e D estão em deadlock sobre recursos T e U
  • 8. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8 Modelagem de Deadlock (3) Estratégias para tratar Deadlocks 1. ignorar por completo o problema 2. detecção e recuperação 3. evitação dinâmica • alocação cuidadosa de recursos 1. prevenção • negação de uma das quatro condições necessárias
  • 9. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9 Modelagem de Deadlock (4) Como ocorre um deadlock
  • 10. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10 Modelagem de Deadlock (5) Como pode ser evitado um deadlock
  • 11. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11 Algoritmo do Avestruz • Finge que o problema não existe • Razoável se – deadlocks ocorrem muito raramente – custo da prevenção é alto • UNIX e Windows seguem esta abordagem • É uma ponderação entre – conveniência – correção
  • 12. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12 Detecção com um Recurso de Cada Tipo (1) Encontre o Deadlock.
  • 13. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13 Detecção com um Recurso de Cada Tipo (1) • Observe a posse e solicitações de recursos • Um ciclo pode ser encontrado dentro do grafo, denotando deadlock
  • 14. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14 Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock
  • 15. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15 Detecção com um Recurso de Cada Tipo (3) Um exemplo para o algoritmo de detecção de deadlocks
  • 16. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16 Recuperação de Deadlock (1) • Recuperação através de preempção – retirar um recurso de algum outro processo – depende da natureza do recurso • Recuperação através de reversão de estado – verifica um processo periodicamente – usa este estado salvo – reinicia o processo se este é encontrado em estado de deadlock
  • 17. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17 Recuperação de Deadlock (2) • Recuperação através da eliminação de processos – forma mais grosseira mas também mais simples de quebrar um deadlock – elimina um dos processos no ciclo de deadlock – os outros processos conseguem seus recursos – escolhe processo que pode ser reexecutado desde seu início
  • 18. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18 Evitando Deadlocks Trajetórias de Recursos Trajetórias de recursos de dois processos
  • 19. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19 Estados Seguros e Inseguros (1) Demonstração de que o estado em (a) é seguro
  • 20. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 20 Estados Seguros e Inseguros (2) Demonstração de que o estado em (b) é inseguro
  • 21. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21 O Algoritmo do Banqueiro para um Único Recurso Três estados de alocação de recursos a) seguro b) seguro c) inseguro
  • 22. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22 O Algoritmo do Banqueiro para Múltiplos Recursos Exemplo do algoritmo do banqueiro com múltiplos recursos
  • 23. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 23 Prevenção de Deadlock Atacando a Condição de 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 necessário – tentar assegurar que o menor número possível de processos possa de fato requisitar o recurso
  • 24. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24 Prevenção de Deadlock Atacando a Condição de 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 – podem não saber quantos e quais recursos vão precisar no início da execução – e também retêm recursos que outros processos poderiam estar usando • Variação: – processo deve desistir de todos os recursos – para então requisitar todos os que são imediatamente necessários
  • 25. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 25 Prevenção de Deadlock Atacando a Condição de Não Preempção • Esta é uma opção inviável • Considere um processo de posse de uma impressora – no meio da impressão – retoma a impressora a força – !!??
  • 26. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 26 Prevenção de Deadlock Atacando a Condição de Espera Circular (1) a) Recursos ordenados numericamente b) Um grafo de recursos
  • 27. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 27 Prevenção de Deadlock Resumo das abordagens para prevenir deadlock
  • 28. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 28 Outras Questões Bloqueio em Duas Fases • Fase um – processo tenta bloquear todos os registros de que precisa, um de cada vez – Se registro necessário já estiver bloqueado, reinicia novamente – (nenhum trabalho real é feito na fase um) • Se a fase um for bem sucedida, começa a fase dois, – execução de atualizações – liberação de bloqueios • Observe a similaridade com a requisição de todos os recursos de uma só vez • Algoritmo funciona onde o programador tiver organizado tudo cuidadosamente para que – o programa possa ser parado, reiniciado
  • 29. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 29 Deadlocks que não Envolvem Recursos • É possível que dois processos entrem em situação de deadlock – cada um espera que o outro faça algo • Pode ocorrer com semáforos – cada processo executa um down() sobre dois semáforos (mutex e outro qualquer) – se executados na ordem errada, resulta em deadlock
  • 30. Pearson Education Sistemas Operacionais Modernos – 2ª Edição 30 Condição de Inanição - Starvation • Algoritmo para alocar um recurso – pode ser ceder para o job mais curto primeiro • Funciona bem para múltiplos jobs curtos em um sistema • Jobs longos podem ser preteridos indefinidamente – mesmo não estando bloqueados • solução: – política do primeiro a chegar, primeiro a ser servido