SlideShare uma empresa Scribd logo
3º Período – Licenciatura em computação
Amanda Ferreira
Laísa Pereira
Naira Gouveia
Tayná Anacleto
É um problema potencial em qualquer sistema operacional;
Ocorre quando integrantes de um grupo de processos são bloqueados
em função da espera por um evento que somente outros processos do
grupo podem causar;
Essa situação faz com que todos os processos esperem para sempre.
Em geral o evento pelo qual os processos estão esperando é a liberação de
algum recurso em uso por outro processo do grupo;
Também é possível que um impasse ocorra quando todos os processos de um
conjunto de processos de comunicação estão esperando por uma mensagem o
canal de comunicação está vazio e não há timeouts pendentes.
RECURSOSImpasse podem ocorrer quando vários processos recebem direitos de
acesso exclusivos a dispositivos, arquivos etc.
Um recurso pode ser um dispositivo de hardware, como exemplo temos a
unidade de fitas, ou um trecho de informações como no caso um registro
travado em uma base de dados.
Recurso é algo que pode ser adquirido, usado e liberado com o passar do
tempo.
Os recursos preemptíveis podem ser retirados do processo proprietário sem nenhum prejuízo, temos
como exemplo a memória.
Considerando um sistema com 256MB de memória disponível para usuário, uma impressora e dois
processos de 256MB que queiram imprimir algo
 O processo A requisita e obtém a impressora e então passa a computar os valores para
impressão
Antes que finalize sua computação sua fatia de tempo de CPU é excedida e ele retirado da
memória
O processo B agora em execução tenta sem sucesso, obter para si a impressora, essa é uma
situação de impasse
 Assim que o processo A executa sua impressão a impressora é liberada .
Esses recursos preemptíveis em geral podem ser resolvidos realocando recursos de um
processo a outro. a sequência de eventos necessários ao uso de um determinado recurso é:
1- Requisitar o recurso
2- Usar o recurso
3-Liberar o recurso
Se um recurso não estiver disponível quando requisitado, o processo solicitado será forçado a
esperar.
Em alguns sistemas operacionais, o processo automaticamente será bloqueado quando uma
requisição de recurso falhar, mas será acordado quando o torna-se disponível;
Já em outros sistemas resultará em um código de erro cabe ao processo solicitante esperar um
pouco e tentar novamente.
Os não preemptíveis são aqueles que não podem ser retirados do atual processo
proprietário sem que a computação apresente falha.
Se um processo começou a gravar um CD-ROM, retirar dele repentinamente
gravador de CD e dar a um outro processo isso resultará em um CD com erros.
Um conjunto de processos estará em situação de impasse se todo processo
pertencente ao conjunto estiver esperando por um evento que somente outro
processo desse mesmo conjunto poderá fazer acontecer.
Cada membro do conjunto de processos em situação de impasse encontra-se a
espera de um recurso que está em situação de impasse.
 Nenhum dos processos pode continuar a execução, liberar qualquer recurso e ser
acordado.
Esse resultado é valido tanto para hardware como para software.
Esse tipo de impasse é denominado impasse de recurso.
Na técnica de detecção e recuperação o sistema deixará que ocorram os
impasses e tentará detectá-los á medida que isso acontecer, agindo, então,
alguma maneira para se recuperar após o fato.
Esse sistema pode ter um scanner, uma unidade CD, um plotter e uma
unidade de fita, mas não mais do um recurso de cada classe.
 Um impasse existe se esse grafo contiver um ou mais ciclos.
Como exemplo, imagine um sistema com sete processos, de
A a G, e com seis recursos, de R a W.
Para saber se esse sistema está em impasse, podemos
construir o seguinte grafo de recursos como mostra a
figura(a):
O grafo monstra que contem um ciclo, como podemos observar na
figura (b).
Podemos observar por meio desse ciclo, que os processos D e,G
estão todos em situação de impasse;
Os processos A ,C e F não estão em impasses, pois o recurso S é
passível de ser alocado a qualquer um deles , permitindo sua
conclusão.
Em um sistema real é necessário um algoritmo formal de detecção de
impasse.
O algoritmo, inspeciona um grafo e termina:
Quando encontra um ciclo
Quando percebe que não existe nenhum ciclo
Ele usa uma estrutura de dados, L, uma lista de nós , assim como a lista
de arcos.
Durante a execução do algoritmo, os arcos serão marcados para indicar
que já foram inspecionados, evitando inspeções repetitivas.
O algoritmo toma cada nó, como a raiz do que se espera ser uma árvore, e fazer uma
busca do tipo depth-first.
Se tornar a passar por um nó já percorrido, ele encontrou um ciclo.
Se já tiver percorrido todos os arcos a partir de um nó qualquer, ele retorna ao nó anterior.
Se retornar ao nó-raiz e não puder ir adiante, o subgrafo alcançável a partir do nó atual
não conterá ciclo algum.
 Se essa propriedade for válida para todos os nós, o sistema não contém impasse.
Depois de localizar um impasse, é necessário recuperar o
sistema dessa situação e coloca-lo novamente em condições de
normais de execução.
Em alguns casos, pode ser possível retornar provisoriamente um recurso de seu
proprietário atual para dá-lo a outro processo.
Essa habilidade é altamente dependente da natureza do recurso.
Alguns tornam essa operação muito difícil ou impossível.
A escolha do processo depende de quais processos tem recursos possíveis de
serem facilmente retomados.
Se o projetista de sistema souber da possibilidade de ocorrência de um
impasse, poderá fazer com que o processo gere um ponto de salvaguardo,
guardando seu estado em um arquivo.
Para fazer a recuperação, um processo é revertido para um instante
anterior ao momento em que adquiriu algum outro recurso, e isso é feito
reiniciando o processamento a partir de seus pontos de salvaguardo.
Todos os trabalhos feitos nesse ponto são perdidos.
 Na verdade, o processo será reiniciado para um momento anterior,
quando ele ainda não possui o recurso.
 Se o processo que sofreu reversão de estado tentar adquirir o recurso
novamente, ele terá de esperar até o recurso estar disponível.
Uma possibilidade é matar um processo presente no ciclo.
Se não for suficiente, essa ação poderá ser repetida até o ciclo ser quebrado.
Um processo não presente no ciclo pode, também, ser escolhido como vítima para
liberar seus recursos.
É melhor matar um processo capaz de ser reexecutado desde seu inicio, a fim de
evitar efeitos colaterais.
Para detecção de impasses quando um processo requisita recursos, ele
os requisita todos de uma só vez
Na maioria dos sistemas os recursos são requisita dos um de cada vez
O sistema decide se liberar um recurso é seguro ou não para fazer uma
alocação.
Os algoritmos principais para evitar impasses são baseados no conceito
de estados seguros
Um estado é considerado seguro quando não estiver em situação de impasse e se
existir alguma ordem de escalonamento onde o processo possa ser executado até
sua conclusão;
Um estado inseguro não é uma situação de impasse;
A diferença de um estado seguro e um inseguro é que, a partir de um estado
seguro, o sistema pode garantir que todos os processos terminarão, ao passo que,
a partir de um estado inseguro, essa garantia não pode ser dada.
Algoritmo do banqueiro é um algoritmo de escalonamento que pode evitar impasses
É uma extensão do algoritmo de detecção de impasses
É modelado da seguinte forma:
O algoritmo verifica se a liberação de uma requisição é capaz de levar a um estado inseguro
Em caso positivo, a requisição será negada
Se a requisição levar a um estado seguro, ela será atendida
Se nunca acontecer de um recurso ser alocado exclusivamente a um único processo, nunca
teremos impasses
A permissão para dois processos imprimirem simultaneamente, por exemplo, em uma mesma
impressora levaria ao caos
A técnica de spooling permite que vários processos gerem suas saídas ao mesmo tempo
O único processo que realmente requisita a impressora física é o daemon de impressão
Como o Daemon nunca requisita qualquer outro recurso, não haverá impasses envolvendo a
impressora
Se pudermos impedir que processos que já mantem a posse de recursos esperem por mais
recursos, seremos capazes de eliminar os impasses.
Um meio de atingir esse objetivo é exigir que todos os processos requisitem todos os seus
recursos antes de inicializarem duas respectivas execução
Uma maneira de interromper a condição de posse e espera é exigir que um processo que
esteja requisitando um recurso primeiro libere temporariamente todos os outros sob sua
posse
Depois disso, ele tenta, de uma só vez, obter os recursos de que precisa.
Armazenar a saída da impressora em um spool de disco elimina impasses
envolvendo esse dispositivo, embora crie outro relacionado a espaço em disco.
Nem todos os recursos podem ser virtualizados
Os registros nos bancos de dados e tabelas internas do sistema operacional
devem estar travados para uso, o que configura uma situação bastante favorável
a ocorrência de impasses
A espera circular pode ser eliminada de varias maneiras:
Um meio simples de elimina-la é ter uma regra que determine que um processo
tenha permissão para possuir somente um recurso de cada vez;
Outra maneira de evitar a condição de espera circular é fornecer uma numeração
global de todos os recursos;
Nessa condição todas as solicitações devem ser feitas em ordem numérica.
Impasses são assuntos que foram incansavelmente investido
A razão para isso é que a detecção de impasses é um pequeno e
interessante problema da teoria dos grafos com a qual qualquer
estudante de graduação com certa inclinação para a matemática pode
lidar durante 3 ou 4 anos
Todos os tipos de algoritmos foram propostos cada um mais exótico e
menos prático do que o outro
Muito desse trabalho já caiu no esquecimento, mas ainda há
publicações sobre diversos aspectos dos impasse
As pesquisas incluem :
 detecção em tempo real de impactos causados pelo uso
incorreto de instruções luck e semáforos
Prevenção de impasses em threads Java
 Tratamento de impasses em redes de computadores
Modelagem de impasses em redes de computadores,
Modelagem de impasses em sistemas de fluxo de dados
Detecção de impasses dinâmicos
Levine comparou definições diferentes (e contraditórias) de
impasse na literatura e sugeriu um esquema classificatório para
eles.
Ele também observou a diferença entre prever e evitar empasses
Impasses S.O

Mais conteúdo relacionado

Mais procurados

vantagens e desvantagens do ciclo de vida de software
vantagens e desvantagens do ciclo de vida de softwarevantagens e desvantagens do ciclo de vida de software
vantagens e desvantagens do ciclo de vida de software
jwniezzy
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
Gabriel Nepomuceno
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
marconesilfer
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Maurício V.Pires
 
Conceitos básicos tic
Conceitos básicos ticConceitos básicos tic
Conceitos básicos ticcmtb31
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidoresMarco Guimarães
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
Suzana Viana Mota
 
Lean manufacturing 3-técnicas e ferramentas
Lean manufacturing   3-técnicas e  ferramentasLean manufacturing   3-técnicas e  ferramentas
Lean manufacturing 3-técnicas e ferramentasjparsilva
 
Tipos de Sistema operacional
Tipos de Sistema operacionalTipos de Sistema operacional
Tipos de Sistema operacional
Gislaine Conceição
 
Gestão de TI - Conceito de TI
Gestão de TI - Conceito de TIGestão de TI - Conceito de TI
Gestão de TI - Conceito de TI
Mauro Duarte
 
Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4Jose Verissimo
 
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
Charles Fortes
 
[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...
[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...
[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...
Guilherme Motta
 
Criando uma cultura data driven
Criando uma cultura data drivenCriando uma cultura data driven
Criando uma cultura data driven
Guilherme Brunhole
 
Lean manufacturing 1-introdução
Lean manufacturing   1-introduçãoLean manufacturing   1-introdução
Lean manufacturing 1-introduçãojparsilva
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Formulario 3C
Formulario 3CFormulario 3C
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
Vinicius Buffolo
 
Scrum com Lego ®
Scrum com Lego ®Scrum com Lego ®
Scrum com Lego ®
Rodolfo Colares
 

Mais procurados (20)

vantagens e desvantagens do ciclo de vida de software
vantagens e desvantagens do ciclo de vida de softwarevantagens e desvantagens do ciclo de vida de software
vantagens e desvantagens do ciclo de vida de software
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
 
Conceitos básicos tic
Conceitos básicos ticConceitos básicos tic
Conceitos básicos tic
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
 
Lean manufacturing 3-técnicas e ferramentas
Lean manufacturing   3-técnicas e  ferramentasLean manufacturing   3-técnicas e  ferramentas
Lean manufacturing 3-técnicas e ferramentas
 
Tipos de Sistema operacional
Tipos de Sistema operacionalTipos de Sistema operacional
Tipos de Sistema operacional
 
Gestão de TI - Conceito de TI
Gestão de TI - Conceito de TIGestão de TI - Conceito de TI
Gestão de TI - Conceito de TI
 
Ferramentas case
Ferramentas caseFerramentas case
Ferramentas case
 
Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4Introduo Informtica Mdulo 1 1193933851888380 4
Introduo Informtica Mdulo 1 1193933851888380 4
 
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
 
[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...
[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...
[Caipira Ágil 2015] Dinâmicas para formação de equipes de desenvolvimento de ...
 
Criando uma cultura data driven
Criando uma cultura data drivenCriando uma cultura data driven
Criando uma cultura data driven
 
Lean manufacturing 1-introdução
Lean manufacturing   1-introduçãoLean manufacturing   1-introdução
Lean manufacturing 1-introdução
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Formulario 3C
Formulario 3CFormulario 3C
Formulario 3C
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Scrum com Lego ®
Scrum com Lego ®Scrum com Lego ®
Scrum com Lego ®
 

Semelhante a Impasses S.O

Deadlocks (Resumo)
Deadlocks (Resumo)Deadlocks (Resumo)
Deadlocks (Resumo)
Ronildo Oliveira
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
Abadia Cardoso
 
Aula 14 - Deadlocks
Aula 14 - DeadlocksAula 14 - Deadlocks
Aula 14 - Deadlocks
camila_seixas
 
Estudo sistemas operacionais p2
Estudo sistemas operacionais  p2Estudo sistemas operacionais  p2
Estudo sistemas operacionais p2Gustavo Souza
 
Processos
ProcessosProcessos
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 
Questionário sobre processos
Questionário sobre processosQuestionário sobre processos
Questionário sobre processos
Francisco Soares Lima Filho
 
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
Silvano Oliveira
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: Deadlocks
Alexandre Duarte
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
Evandro Júnior
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
Ronildo Oliveira
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
Pedro De Almeida
 
S.o aula 121314
S.o aula 121314S.o aula 121314
S.o aula 121314
Armando Rivarola
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrência
Paulo Fonseca
 
Comunicacao entre Processos
Comunicacao entre ProcessosComunicacao entre Processos
Comunicacao entre Processos
RafaelPessoa22
 
Seguranca da Informação -Práticas de segurança
Seguranca da Informação -Práticas de segurançaSeguranca da Informação -Práticas de segurança
Seguranca da Informação -Práticas de segurançaLuiz Arthur
 

Semelhante a Impasses S.O (20)

Deadlocks (Resumo)
Deadlocks (Resumo)Deadlocks (Resumo)
Deadlocks (Resumo)
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
 
Aula 14 - Deadlocks
Aula 14 - DeadlocksAula 14 - Deadlocks
Aula 14 - Deadlocks
 
Estudo sistemas operacionais p2
Estudo sistemas operacionais  p2Estudo sistemas operacionais  p2
Estudo sistemas operacionais p2
 
Ad d lock
Ad d lockAd d lock
Ad d lock
 
Processos
ProcessosProcessos
Processos
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Questionário sobre processos
Questionário sobre processosQuestionário sobre processos
Questionário sobre processos
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
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
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: Deadlocks
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Parte1f
Parte1fParte1f
Parte1f
 
Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
S.o aula 121314
S.o aula 121314S.o aula 121314
S.o aula 121314
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrência
 
Comunicacao entre Processos
Comunicacao entre ProcessosComunicacao entre Processos
Comunicacao entre Processos
 
Seguranca da Informação -Práticas de segurança
Seguranca da Informação -Práticas de segurançaSeguranca da Informação -Práticas de segurança
Seguranca da Informação -Práticas de segurança
 

Impasses S.O

  • 1. 3º Período – Licenciatura em computação Amanda Ferreira Laísa Pereira Naira Gouveia Tayná Anacleto
  • 2.
  • 3. É um problema potencial em qualquer sistema operacional; Ocorre quando integrantes de um grupo de processos são bloqueados em função da espera por um evento que somente outros processos do grupo podem causar; Essa situação faz com que todos os processos esperem para sempre.
  • 4. Em geral o evento pelo qual os processos estão esperando é a liberação de algum recurso em uso por outro processo do grupo; Também é possível que um impasse ocorra quando todos os processos de um conjunto de processos de comunicação estão esperando por uma mensagem o canal de comunicação está vazio e não há timeouts pendentes.
  • 5.
  • 6. RECURSOSImpasse podem ocorrer quando vários processos recebem direitos de acesso exclusivos a dispositivos, arquivos etc. Um recurso pode ser um dispositivo de hardware, como exemplo temos a unidade de fitas, ou um trecho de informações como no caso um registro travado em uma base de dados. Recurso é algo que pode ser adquirido, usado e liberado com o passar do tempo.
  • 7. Os recursos preemptíveis podem ser retirados do processo proprietário sem nenhum prejuízo, temos como exemplo a memória. Considerando um sistema com 256MB de memória disponível para usuário, uma impressora e dois processos de 256MB que queiram imprimir algo  O processo A requisita e obtém a impressora e então passa a computar os valores para impressão Antes que finalize sua computação sua fatia de tempo de CPU é excedida e ele retirado da memória O processo B agora em execução tenta sem sucesso, obter para si a impressora, essa é uma situação de impasse  Assim que o processo A executa sua impressão a impressora é liberada .
  • 8. Esses recursos preemptíveis em geral podem ser resolvidos realocando recursos de um processo a outro. a sequência de eventos necessários ao uso de um determinado recurso é: 1- Requisitar o recurso 2- Usar o recurso 3-Liberar o recurso Se um recurso não estiver disponível quando requisitado, o processo solicitado será forçado a esperar. Em alguns sistemas operacionais, o processo automaticamente será bloqueado quando uma requisição de recurso falhar, mas será acordado quando o torna-se disponível; Já em outros sistemas resultará em um código de erro cabe ao processo solicitante esperar um pouco e tentar novamente.
  • 9. Os não preemptíveis são aqueles que não podem ser retirados do atual processo proprietário sem que a computação apresente falha. Se um processo começou a gravar um CD-ROM, retirar dele repentinamente gravador de CD e dar a um outro processo isso resultará em um CD com erros.
  • 10.
  • 11. Um conjunto de processos estará em situação de impasse se todo processo pertencente ao conjunto estiver esperando por um evento que somente outro processo desse mesmo conjunto poderá fazer acontecer. Cada membro do conjunto de processos em situação de impasse encontra-se a espera de um recurso que está em situação de impasse.  Nenhum dos processos pode continuar a execução, liberar qualquer recurso e ser acordado. Esse resultado é valido tanto para hardware como para software. Esse tipo de impasse é denominado impasse de recurso.
  • 12. Na técnica de detecção e recuperação o sistema deixará que ocorram os impasses e tentará detectá-los á medida que isso acontecer, agindo, então, alguma maneira para se recuperar após o fato.
  • 13. Esse sistema pode ter um scanner, uma unidade CD, um plotter e uma unidade de fita, mas não mais do um recurso de cada classe.  Um impasse existe se esse grafo contiver um ou mais ciclos.
  • 14. Como exemplo, imagine um sistema com sete processos, de A a G, e com seis recursos, de R a W. Para saber se esse sistema está em impasse, podemos construir o seguinte grafo de recursos como mostra a figura(a):
  • 15. O grafo monstra que contem um ciclo, como podemos observar na figura (b). Podemos observar por meio desse ciclo, que os processos D e,G estão todos em situação de impasse; Os processos A ,C e F não estão em impasses, pois o recurso S é passível de ser alocado a qualquer um deles , permitindo sua conclusão.
  • 16. Em um sistema real é necessário um algoritmo formal de detecção de impasse. O algoritmo, inspeciona um grafo e termina: Quando encontra um ciclo Quando percebe que não existe nenhum ciclo Ele usa uma estrutura de dados, L, uma lista de nós , assim como a lista de arcos. Durante a execução do algoritmo, os arcos serão marcados para indicar que já foram inspecionados, evitando inspeções repetitivas.
  • 17. O algoritmo toma cada nó, como a raiz do que se espera ser uma árvore, e fazer uma busca do tipo depth-first. Se tornar a passar por um nó já percorrido, ele encontrou um ciclo. Se já tiver percorrido todos os arcos a partir de um nó qualquer, ele retorna ao nó anterior. Se retornar ao nó-raiz e não puder ir adiante, o subgrafo alcançável a partir do nó atual não conterá ciclo algum.  Se essa propriedade for válida para todos os nós, o sistema não contém impasse.
  • 18. Depois de localizar um impasse, é necessário recuperar o sistema dessa situação e coloca-lo novamente em condições de normais de execução.
  • 19. Em alguns casos, pode ser possível retornar provisoriamente um recurso de seu proprietário atual para dá-lo a outro processo. Essa habilidade é altamente dependente da natureza do recurso. Alguns tornam essa operação muito difícil ou impossível. A escolha do processo depende de quais processos tem recursos possíveis de serem facilmente retomados.
  • 20. Se o projetista de sistema souber da possibilidade de ocorrência de um impasse, poderá fazer com que o processo gere um ponto de salvaguardo, guardando seu estado em um arquivo. Para fazer a recuperação, um processo é revertido para um instante anterior ao momento em que adquiriu algum outro recurso, e isso é feito reiniciando o processamento a partir de seus pontos de salvaguardo.
  • 21. Todos os trabalhos feitos nesse ponto são perdidos.  Na verdade, o processo será reiniciado para um momento anterior, quando ele ainda não possui o recurso.  Se o processo que sofreu reversão de estado tentar adquirir o recurso novamente, ele terá de esperar até o recurso estar disponível.
  • 22. Uma possibilidade é matar um processo presente no ciclo. Se não for suficiente, essa ação poderá ser repetida até o ciclo ser quebrado. Um processo não presente no ciclo pode, também, ser escolhido como vítima para liberar seus recursos. É melhor matar um processo capaz de ser reexecutado desde seu inicio, a fim de evitar efeitos colaterais.
  • 23.
  • 24. Para detecção de impasses quando um processo requisita recursos, ele os requisita todos de uma só vez Na maioria dos sistemas os recursos são requisita dos um de cada vez O sistema decide se liberar um recurso é seguro ou não para fazer uma alocação. Os algoritmos principais para evitar impasses são baseados no conceito de estados seguros
  • 25. Um estado é considerado seguro quando não estiver em situação de impasse e se existir alguma ordem de escalonamento onde o processo possa ser executado até sua conclusão; Um estado inseguro não é uma situação de impasse; A diferença de um estado seguro e um inseguro é que, a partir de um estado seguro, o sistema pode garantir que todos os processos terminarão, ao passo que, a partir de um estado inseguro, essa garantia não pode ser dada.
  • 26. Algoritmo do banqueiro é um algoritmo de escalonamento que pode evitar impasses É uma extensão do algoritmo de detecção de impasses É modelado da seguinte forma: O algoritmo verifica se a liberação de uma requisição é capaz de levar a um estado inseguro Em caso positivo, a requisição será negada Se a requisição levar a um estado seguro, ela será atendida
  • 27. Se nunca acontecer de um recurso ser alocado exclusivamente a um único processo, nunca teremos impasses A permissão para dois processos imprimirem simultaneamente, por exemplo, em uma mesma impressora levaria ao caos A técnica de spooling permite que vários processos gerem suas saídas ao mesmo tempo O único processo que realmente requisita a impressora física é o daemon de impressão Como o Daemon nunca requisita qualquer outro recurso, não haverá impasses envolvendo a impressora
  • 28. Se pudermos impedir que processos que já mantem a posse de recursos esperem por mais recursos, seremos capazes de eliminar os impasses. Um meio de atingir esse objetivo é exigir que todos os processos requisitem todos os seus recursos antes de inicializarem duas respectivas execução Uma maneira de interromper a condição de posse e espera é exigir que um processo que esteja requisitando um recurso primeiro libere temporariamente todos os outros sob sua posse Depois disso, ele tenta, de uma só vez, obter os recursos de que precisa.
  • 29. Armazenar a saída da impressora em um spool de disco elimina impasses envolvendo esse dispositivo, embora crie outro relacionado a espaço em disco. Nem todos os recursos podem ser virtualizados Os registros nos bancos de dados e tabelas internas do sistema operacional devem estar travados para uso, o que configura uma situação bastante favorável a ocorrência de impasses
  • 30. A espera circular pode ser eliminada de varias maneiras: Um meio simples de elimina-la é ter uma regra que determine que um processo tenha permissão para possuir somente um recurso de cada vez; Outra maneira de evitar a condição de espera circular é fornecer uma numeração global de todos os recursos; Nessa condição todas as solicitações devem ser feitas em ordem numérica.
  • 31. Impasses são assuntos que foram incansavelmente investido A razão para isso é que a detecção de impasses é um pequeno e interessante problema da teoria dos grafos com a qual qualquer estudante de graduação com certa inclinação para a matemática pode lidar durante 3 ou 4 anos
  • 32. Todos os tipos de algoritmos foram propostos cada um mais exótico e menos prático do que o outro Muito desse trabalho já caiu no esquecimento, mas ainda há publicações sobre diversos aspectos dos impasse
  • 33. As pesquisas incluem :  detecção em tempo real de impactos causados pelo uso incorreto de instruções luck e semáforos Prevenção de impasses em threads Java  Tratamento de impasses em redes de computadores Modelagem de impasses em redes de computadores,
  • 34. Modelagem de impasses em sistemas de fluxo de dados Detecção de impasses dinâmicos Levine comparou definições diferentes (e contraditórias) de impasse na literatura e sugeriu um esquema classificatório para eles. Ele também observou a diferença entre prever e evitar empasses