A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DeadLock Sistemas Operacionais I

Apresentações semelhantes


Apresentação em tema: "DeadLock Sistemas Operacionais I"— Transcrição da apresentação:

1 DeadLock Sistemas Operacionais I
Módulo 7

2 DEADLOCK Ocorre quando um grupo de processos competem por acesso a recursos fixos Definição Deadlock ocorre entre um conjunto de processos se todos os processos estão aguardando por um evento que só pode ser gerado por um processo do conjunto Sistemas Operacionais I - Versão Beta 3 24/04/2001

3 DEADLOCK Exemplo Dois processos compartilham dois recursos que precisam ser requisitados, antes do uso, e liberados, após o uso. A ação de requisição causa bloqueio do processo até o recursos estar disponível Proc1: Proc2: request tape request printer request printer request tape … <uso> … <uso> release printer release tape release tape release printer Sistemas Operacionais I - Versão Beta 3 24/04/2001

4 CONDIÇÃO PARA DEADLOCK
Quatro condições necessárias Exclusão mutua Ao menos um processo retém recurso em modo não compartilhado Hold-and-wait Um processo pode reter um recurso enquanto aguarda outro Sistemas Operacionais I - Versão Beta 3 24/04/2001

5 CONDIÇÃO PARA DEADLOCK
Quatro condições necessárias Não preempção Recurso não pode ser preemptado Espera circular Existe um conjunto de processos [p1, p2, …, pn] tal que p1 espera p2, p2 por p3, …. Sistemas Operacionais I - Versão Beta 3 24/04/2001

6 GRAFO DE ALOCAÇÃO DE RECURSOS
Deadlock pode ser descrito por meio de um Grafo de Alocação de Recursos Conjunto de vértices Processos={P1,P2,…,Pn} Recursos={R1,R2,…,Rm} Sistemas Operacionais I - Versão Beta 3 24/04/2001

7 GRAFO DE ALOCAÇÃO DE RECURSOS
Deadlock pode ser descrito por meio de um Grafo de Alocação de Recursos Uma conexão direta de um Processo para um Recurso, Pi Rj, indica que Pi requisitou Rj. Uma conexão direta de um Recurso para um Processo , RjPi, implica que es that Rj foi alocada por Pi. Se não houver ciclos deadlock não existe Sistemas Operacionais I - Versão Beta 3 24/04/2001

8 GRAFO DE ALOCAÇÃO DE RECURSOS
. . P1 P2 P3 P1 P2 P3 . . . . R2 R4 R2 P4 R4 Há deadlock. Mesmo ciclos mas sem deadlock. Sistemas Operacionais I - Versão Beta 3 24/04/2001

9 ENFOQUES Prevenir Assegure que ao menos uma das quatro condições não será satisfeita Exclusão mutua Torne os recursos compartilháveis (não é sério) Hold-and-wait Garanta que um processo não pode reter um recurso quando requisitar outro, ou... Requisição coletiva: faça com que os recursos sejam alocados de um só vez e liberados antes de requisitar um novo conjunto Sistemas Operacionais I - Versão Beta 3 24/04/2001

10 ENFOQUES Prevenir Assegure que ao menos uma das quatro condições não será satisfeita Espera circular Imponha uma ordenação nos recurso Só é possível alocar Rj se j>i Sistemas Operacionais I - Versão Beta 3 24/04/2001

11 ENFOQUES Evitar Idéia Prover informação sobre os recursos que serão necessários para o processo Garantir que o deadlock não ocorrerá Sistemas Operacionais I - Versão Beta 3 24/04/2001

12 ENFOQUES Evitar Passo 1 Quando requisitado um recurso Rj, mesmo que esteja disponível, não é alocado ao processo solicitante, embora seja garantido o uso Processo vai para bloqueio Sistemas Operacionais I - Versão Beta 3 24/04/2001

13 ENFOQUES Evitar Passo 2 Passo 3
Avaliar quando é possível efetuar a alocação seguramente Passo 3 Se seguro, alocar Sistemas Operacionais I - Versão Beta 3 24/04/2001

14 ENFOQUES Evitar Exemplo
Processos p0, p1 e p2 competem por 12 dispositivos de fita max corrente solicitado p p p Existe uma seqüência segura <p1,p0,p2> p1 pode completar com os recursos livres p0 pode completar com os recursos livres+p1 p2 pode completar com os recursos livres+p1+p0 Sistemas Operacionais I - Versão Beta 3 24/04/2001

15 ENFOQUES Evitar Exemplo
Se p2 requisitar uma unidade, deve esperar porque o estado se tornará inseguro Sistemas Operacionais I - Versão Beta 3 24/04/2001

16 ENFOQUES Algoritmo do banqueiro
Decide quando ceder um recurso solicitado Sistemas Operacionais I - Versão Beta 3 24/04/2001

17 ENFOQUES Deteção Se não prevenir e não evitar, deadlock vai atacar
Nesse caso, devemos ter: Um algoritmo para determinar quando o deadlock ocorre Um algoritmo para corrigir o deadlock É “lindo”! Mas custa caro Sistemas Operacionais I - Versão Beta 3 24/04/2001

18 ENFOQUES Deteção Algoritmo de deteção de deadlock
Sistemas Operacionais I - Versão Beta 3 24/04/2001

19 ENFOQUES Deteção Deteção é cara Quando detectar? Depende de:
Qual a possibilidade de deadlock Quantos processos são afetados quando o deadlock ocorre Sistemas Operacionais I - Versão Beta 3 24/04/2001

20 ENFOQUES Recuperação Opções
Abortar todos os processos envolvidos no deadlock Resulta no custo computacional repetido (submissão dos processos novamente) Abortar um dos processos por vez até que o ciclo (deadlock) seja eliminado Resulta na aplicação do algoritmo de deteção após cada aborto Sistemas Operacionais I - Versão Beta 3 24/04/2001

21 ENFOQUES Recuperação Opções Preemptar
Liberar recursos até que o deadlock termine Pontos negativos: Seleção da vítima Rollback starvation Ficar quietinho e deixar o sistema parar Muito utilizado Sistemas Operacionais I - Versão Beta 3 24/04/2001


Carregar ppt "DeadLock Sistemas Operacionais I"

Apresentações semelhantes


Anúncios Google