Aula09a

Páginas: 7 (1726 palavras) Publicado: 3 de junho de 2015
Sistemas Operacionais

Programação Concorrente
Impasses

Edson Moreno
edson.moreno@pucrs.br
http://www.inf.pucrs.br/~emoreno

Sumário
 Princípios de Deadlock

 Técnicas de solução do problema
 Prevenir a ocorrência de deadlock
 Evitar a possibilidade de ocorrência de deadlock

 Detecção a ocorrência de deadlock e recuperar

Deadlock
 Um conjunto de processo está em deadlock se
 Cadaprocesso do conjunto está bloqueado
 Se o bloqueio está ocorrendo pelo aguarde de um evento
 Se este evento somente pode ser disparado por outro processo
 Se este outro processo também está bloqueado
 Tipicamente envolve processos competindo pelo mesmo recurso

Deadlock em potencial
Precisa dos
quadrantes C
eD

Precisa dos
quadrantes D
eA

Precisa dos
quadrantes B
eC

Precisa dos
quadrantes AeB

Deadlock real
Trava até que
D esteja livre

Trava até que
A esteja livre

Trava até que
C esteja livre

Trava até que
B esteja livre

Deadlock real

Dados dois processos P e Q
 Dados os process P e Q
 Cada qual precisa acessar a um

recurso A e B por um tempo
determinado

Diagrama de deadlock

Lógica alternativa
 Suponha que P
 Não necessite de ambos recursos ao mesmo tempo
 Assim,os processo podem ser construídos da seguinte forma...

Diagrama lógico alternativo

Exemplo
 Situação
 Há um espaço de 200Kbytes para ser alocado
 A seguinte seqüência de eventos ocorre
P1

P2

...

...

Request 80 Kbytes;

Request 70 Kbytes;

Request 60 Kbytes;

Request 80 Kbytes;

...

...

 Deadlock ocorre se ambos processos progredirem para sua

segunda requisição

Grafo de alocação derecurso
 Grafo dirigido
 Detalha um estado de um recurso ou processo

Alocação de recursos - Grafo de deadlock

Condições de um possível Deadlock
 Exclusão mútua
 Apenas um processo pode usar o recurso por vez

 Segurar e esperar
 Um processo pode conter recursos alocados enquanto aguarda a

atribuição de outros
 Sem preempção
 Nenhum recurso pode ser forçosamente removido de umprocesso que o detem

Deadlocks reais requerem
As três condições previamente apresentadas, mais:
 Dependência circular
 Fechamento de um ciclo entre processo existentes
 Cada processo “segura” pelo menos um recurso necessário por

outro processo da cadeia

Tratando deadlocks
 Quatro abordagens gerais
 Desconsiderar a ocorrência de deadlock
 Prevenir a possibilidade de ocorrência de deadlock
Evitar a ocorrência de deadlocks
 Detectar a ocorrência de deadlock e recuperar

Algoritmo do avestruz

 Estratégia mais econômica
 Projetista tem conhecimento de que o problema pode ocorrer, mas
 Finge que não há problemas

 Decisão é tomada levando em consideração
 Frequência com que isto pode ocorrer
 O problema que isto pode causar

 Desempenho do sistema pode ser prejudicado pelaobservação
 Rotina de observação pode causar lentidão
 Da ocorrência de deadlock
 Trata-se o problema

Previnindo a ocorrência de deadlock

Previnir a ocorrência de deadlock
 Ação tomada durante a elaboração do projeto de um sistema
 Ação realizada de forma estática
 Exclui a possibilidade de ocorrência de um deadlock

 Dois métodos principais
 Indireto
 Previne uma das três condiçõesnecessárias para a ocorrência de um deadlock

Exclusão mútua
 segura e espera
 sem preempção


 Direto
 Previne a ocorrência de dependência circular

Previnir a ocorrência de deadlock
 Formas de prevenção
 Exclusão mútua
 Se o acesso a um recurso requer exclusão mútua então deve ser suportada pelo OS

 Segura e aguarda
 Um processo requer todos os recursos necessários de uma só vez
Somente é liberado o acesso quando todos os recursos estão disponíveis

 Sem preempção
 Considerando um processo

Que segura alguns recursos
 Requer outro(s), que lhe são negados
 Então
o O processos deve liberar os recursos que possui e requisitá-los novamente


 Dependência circular
 Definir uma requisição linear dos recursos

Evitando a possibilidade de ocorrência de deadlock

Evitar a...
Ler documento completo

Por favor, assinar para o acesso.

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!