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

Mais conteúdo relacionado

PDF
Aula 1 - Revisão UML
PPT
AOO - Diagrama de Caso de Uso
PDF
Como organizar os processos de uma clínica médica.pdf
PDF
Como Desenvolver CompetêNcias Dentro Da Empresa
PPTX
Ciência e conhecimento cotidiano - parte 1
PDF
Manual abx micros 60 (em português)
PPTX
Planejamento,gestão e avaliação dos serviços de saúde
PPTX
Aula 2 - Imagem pessoal e profissional
Aula 1 - Revisão UML
AOO - Diagrama de Caso de Uso
Como organizar os processos de uma clínica médica.pdf
Como Desenvolver CompetêNcias Dentro Da Empresa
Ciência e conhecimento cotidiano - parte 1
Manual abx micros 60 (em português)
Planejamento,gestão e avaliação dos serviços de saúde
Aula 2 - Imagem pessoal e profissional

Mais procurados (20)

DOC
Direitos humanos e cidadania brigada militar. material + questões
PPT
Padrões de Projetos de Interface do Usuário
PPTX
Método de pesquisa observacional
PPTX
Reflexologia
PPTX
História e Evolução da Higiene Pessoal
PPT
Etiqueta+no+trabalho
PPT
Ferramentas de coleta de dados - Entrevistas
PPT
Administraodeenfermagemparte1 091017140019-phpapp02
PDF
Historia de-enfermagem-as-praticas-de-saude-e-enfermagem-ao-longo-da-historia
DOCX
A linguagem marilena chauí
PDF
SLIDES DE SIMBOLOGIA EM BIOSSEGURANÇA.pdf
PPT
Código de ética dos profissionais de enfermagem
PPT
Conceitos++básico geriatria
PPTX
ENFERMAGEM - MÓDULO III - ADMINISTRACAO EM ENFERMAGEM.pptx
PDF
Construção da imagem pessoal
DOCX
Tipologia dos conteúdos
PPTX
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
PPT
Aula saúde mental I e II
PDF
Urinálise
PPTX
O poder da comunicação & oratória Por Julio Pascoal
Direitos humanos e cidadania brigada militar. material + questões
Padrões de Projetos de Interface do Usuário
Método de pesquisa observacional
Reflexologia
História e Evolução da Higiene Pessoal
Etiqueta+no+trabalho
Ferramentas de coleta de dados - Entrevistas
Administraodeenfermagemparte1 091017140019-phpapp02
Historia de-enfermagem-as-praticas-de-saude-e-enfermagem-ao-longo-da-historia
A linguagem marilena chauí
SLIDES DE SIMBOLOGIA EM BIOSSEGURANÇA.pdf
Código de ética dos profissionais de enfermagem
Conceitos++básico geriatria
ENFERMAGEM - MÓDULO III - ADMINISTRACAO EM ENFERMAGEM.pptx
Construção da imagem pessoal
Tipologia dos conteúdos
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Aula saúde mental I e II
Urinálise
O poder da comunicação & oratória Por Julio Pascoal
Anúncio

Semelhante a Impasses S.O (20)

PDF
Deadlocks (Resumo)
PPTX
SO - Integrado - Aula 06 - Impasses.pptx
PPT
Gerência de Processos: Deadlocks
PDF
Impasses cap 06 (ii unidade)
PPTX
Aula 14 - Deadlocks
PPTX
S.o aula 1718
PPTX
Resumo_Prevenção_de_Impasses_sopc2024.pptx
PPT
Sistemas Operacionais Modernos Capítulo 3 Deadlock
PDF
Arquitetura de Computadores - Concorrência
PPTX
Aula 06 - Algoritmo de Escalonamento Interativo.pptx
PPT
2009 1 - sistemas operacionais - aula 7 - deadlocks
DOC
Regiões críticas dos Sistemas Operacionais
DOCX
Sincronização e comunicação entre processos
DOC
Estudo sistemas operacionais p2
PDF
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
PPTX
S.o aula 1516
PDF
Gerenciamento-de-Processos-Uma-Visao-Geral.pdf
PPTX
S.o aula 9101112
PDF
Questionário sobre processos
Deadlocks (Resumo)
SO - Integrado - Aula 06 - Impasses.pptx
Gerência de Processos: Deadlocks
Impasses cap 06 (ii unidade)
Aula 14 - Deadlocks
S.o aula 1718
Resumo_Prevenção_de_Impasses_sopc2024.pptx
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Arquitetura de Computadores - Concorrência
Aula 06 - Algoritmo de Escalonamento Interativo.pptx
2009 1 - sistemas operacionais - aula 7 - deadlocks
Regiões críticas dos Sistemas Operacionais
Sincronização e comunicação entre processos
Estudo sistemas operacionais p2
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
S.o aula 1516
Gerenciamento-de-Processos-Uma-Visao-Geral.pdf
S.o aula 9101112
Questionário sobre processos
Anúncio

Último (20)

PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
PPTX
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
PPTX
Legislação aeronautica na aviação civil Brasileira
PPTX
AULA 1.pptx GESTÃO DE OPERAÇÕES INDUSTRIAIS
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
PPTX
Panorama da aviação civil brasileira ANAC
PDF
Apostila Power Automate Impressionador.pdf
PPTX
Modelo para Qualificação de Mestrado - Tecnologia da Informação
PDF
T-pico 1.pdfnsjabdkaksbbsuendnijsbshajanzk
PPTX
Introdução a disciplina sistemas operativos
PPTX
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
PPTX
Introdução a Computação em Nuvem-parte2-T2
PDF
POO - Aula 03 - Membros Estáticos e Construtores.pdf
PDF
wp-sn-advanced-high-availability-architecture (pt-br).pdf
PPTX
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
PDF
Arquitetura de Software slides sommerville
DOCX
Laboratório de cyber security, apresentação simples.
PPTX
Sistemas Operativos Modulo 2_________________
DOCX
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
PDF
Gestão contínua de exposição a ameaças petrobras
POO - Aula 05 - Herança - Generalização e Especialização.pdf
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
Legislação aeronautica na aviação civil Brasileira
AULA 1.pptx GESTÃO DE OPERAÇÕES INDUSTRIAIS
POO - Aula 05 - Herança - Generalização e Especialização.pdf
Panorama da aviação civil brasileira ANAC
Apostila Power Automate Impressionador.pdf
Modelo para Qualificação de Mestrado - Tecnologia da Informação
T-pico 1.pdfnsjabdkaksbbsuendnijsbshajanzk
Introdução a disciplina sistemas operativos
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
Introdução a Computação em Nuvem-parte2-T2
POO - Aula 03 - Membros Estáticos e Construtores.pdf
wp-sn-advanced-high-availability-architecture (pt-br).pdf
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
Arquitetura de Software slides sommerville
Laboratório de cyber security, apresentação simples.
Sistemas Operativos Modulo 2_________________
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
Gestão contínua de exposição a ameaças petrobras

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