SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
3º Período – Licenciatura em computação
Amanda Ferreira
Laísa Pereira
Naira Gouveia
Tayná Anacleto
Impasses S.O
É 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.
Impasses S.O
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.
Impasses S.O
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.
Impasses S.O
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

Weitere ähnliche Inhalte

Was ist angesagt?

1 slides - diagrama de causa e efeito (ishikawa)
1   slides - diagrama de causa e efeito (ishikawa)1   slides - diagrama de causa e efeito (ishikawa)
1 slides - diagrama de causa e efeito (ishikawa)Caio Roberto de Souza Filho
 
Apresentação Tese Doutoramento
Apresentação Tese DoutoramentoApresentação Tese Doutoramento
Apresentação Tese DoutoramentoMónica Aresta
 
Manufatura Enxuta (Lean) - Slides - Profª Silene Seibel
Manufatura Enxuta (Lean) - Slides - Profª Silene SeibelManufatura Enxuta (Lean) - Slides - Profª Silene Seibel
Manufatura Enxuta (Lean) - Slides - Profª Silene SeibelSustentare Escola de Negócios
 
ApresentaçãO Tcc Fernanda Ribeiro
ApresentaçãO Tcc Fernanda RibeiroApresentaçãO Tcc Fernanda Ribeiro
ApresentaçãO Tcc Fernanda RibeiroFernanda Ribeiro
 
Apresentação programa de Prevenção de Perdas para supermercados
Apresentação programa de Prevenção de Perdas para supermercados Apresentação programa de Prevenção de Perdas para supermercados
Apresentação programa de Prevenção de Perdas para supermercados José Eduardo Marra
 
Projeto de Intervenção Pedagógica (PIP)
Projeto de Intervenção Pedagógica (PIP)Projeto de Intervenção Pedagógica (PIP)
Projeto de Intervenção Pedagógica (PIP)Debora_Marques
 
CICLO PDCA: Plan-Do-Check-Act
CICLO PDCA: Plan-Do-Check-ActCICLO PDCA: Plan-Do-Check-Act
CICLO PDCA: Plan-Do-Check-ActDaniel Faria
 
Caderno - Processos Organizacionais
Caderno - Processos OrganizacionaisCaderno - Processos Organizacionais
Caderno - Processos OrganizacionaisCadernos PPT
 
Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...
Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...
Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...Djeison Machado
 
Plano de negócios endeavor
Plano de negócios endeavorPlano de negócios endeavor
Plano de negócios endeavorKarlla Costa
 
Almoxarife e Estoquista - Apostila 2
Almoxarife e Estoquista - Apostila 2 Almoxarife e Estoquista - Apostila 2
Almoxarife e Estoquista - Apostila 2 eadrede
 
Gerenciamento de Qualidade
Gerenciamento de QualidadeGerenciamento de Qualidade
Gerenciamento de Qualidadeelliando dias
 

Was ist angesagt? (20)

Exercício - Análise Curva ABC
Exercício - Análise Curva ABCExercício - Análise Curva ABC
Exercício - Análise Curva ABC
 
Manufatura enxuta
Manufatura enxutaManufatura enxuta
Manufatura enxuta
 
1 slides - diagrama de causa e efeito (ishikawa)
1   slides - diagrama de causa e efeito (ishikawa)1   slides - diagrama de causa e efeito (ishikawa)
1 slides - diagrama de causa e efeito (ishikawa)
 
Apresentação Tese Doutoramento
Apresentação Tese DoutoramentoApresentação Tese Doutoramento
Apresentação Tese Doutoramento
 
Manufatura Enxuta (Lean) - Slides - Profª Silene Seibel
Manufatura Enxuta (Lean) - Slides - Profª Silene SeibelManufatura Enxuta (Lean) - Slides - Profª Silene Seibel
Manufatura Enxuta (Lean) - Slides - Profª Silene Seibel
 
Qualidade
QualidadeQualidade
Qualidade
 
ApresentaçãO Tcc Fernanda Ribeiro
ApresentaçãO Tcc Fernanda RibeiroApresentaçãO Tcc Fernanda Ribeiro
ApresentaçãO Tcc Fernanda Ribeiro
 
Apresentação programa de Prevenção de Perdas para supermercados
Apresentação programa de Prevenção de Perdas para supermercados Apresentação programa de Prevenção de Perdas para supermercados
Apresentação programa de Prevenção de Perdas para supermercados
 
Aula Lean
Aula LeanAula Lean
Aula Lean
 
Projeto de Intervenção Pedagógica (PIP)
Projeto de Intervenção Pedagógica (PIP)Projeto de Intervenção Pedagógica (PIP)
Projeto de Intervenção Pedagógica (PIP)
 
PDCA - OPERAÇÃO
PDCA - OPERAÇÃOPDCA - OPERAÇÃO
PDCA - OPERAÇÃO
 
CICLO PDCA: Plan-Do-Check-Act
CICLO PDCA: Plan-Do-Check-ActCICLO PDCA: Plan-Do-Check-Act
CICLO PDCA: Plan-Do-Check-Act
 
Caderno - Processos Organizacionais
Caderno - Processos OrganizacionaisCaderno - Processos Organizacionais
Caderno - Processos Organizacionais
 
Metodologia 8d
Metodologia 8dMetodologia 8d
Metodologia 8d
 
Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...
Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...
Apresentação em Power Point do Projeto Integrador, realizado no Ensino Médio ...
 
Ferramentas da Qualidade
Ferramentas da QualidadeFerramentas da Qualidade
Ferramentas da Qualidade
 
Plano de negócios endeavor
Plano de negócios endeavorPlano de negócios endeavor
Plano de negócios endeavor
 
Almoxarife e Estoquista - Apostila 2
Almoxarife e Estoquista - Apostila 2 Almoxarife e Estoquista - Apostila 2
Almoxarife e Estoquista - Apostila 2
 
Gerenciamento de Qualidade
Gerenciamento de QualidadeGerenciamento de Qualidade
Gerenciamento de Qualidade
 
Gerenciamento de Riscos
Gerenciamento de  RiscosGerenciamento de  Riscos
Gerenciamento de Riscos
 

Ähnlich wie Impasses S.O

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 OperacionaisAbadia Cardoso
 
Estudo sistemas operacionais p2
Estudo sistemas operacionais  p2Estudo sistemas operacionais  p2
Estudo sistemas operacionais p2Gustavo Souza
 
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
 
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.pdfSilvano Oliveira
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: DeadlocksAlexandre Duarte
 
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
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisRonildo Oliveira
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
Apostila 3 concorrência
Apostila 3   concorrênciaApostila 3   concorrência
Apostila 3 concorrênciaPaulo Fonseca
 
Comunicacao entre Processos
Comunicacao entre ProcessosComunicacao entre Processos
Comunicacao entre ProcessosRafaelPessoa22
 
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
 

Ähnlich wie 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
  • 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.
  • 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.
  • 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.
  • 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