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

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

DeadLock Sistemas Operacionais I Módulo 7. 24/04/2001Sistemas Operacionais I - Versão Beta 39-2 DEADLOCK Ocorre quando um grupo de processos competem.

Apresentações semelhantes


Apresentação em tema: "DeadLock Sistemas Operacionais I Módulo 7. 24/04/2001Sistemas Operacionais I - Versão Beta 39-2 DEADLOCK Ocorre quando um grupo de processos competem."— Transcrição da apresentação:

1 DeadLock Sistemas Operacionais I Módulo 7

2 24/04/2001Sistemas Operacionais I - Versão Beta 39-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

3 24/04/2001Sistemas Operacionais I - Versão Beta 39-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 taperequest printer request printerrequest tape… release printerrelease tape release taperelease printer

4 24/04/2001Sistemas Operacionais I - Versão Beta 39-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

5 24/04/2001Sistemas Operacionais I - Versão Beta 39-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, ….

6 24/04/2001Sistemas Operacionais I - Versão Beta 39-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={P 1,P 2,…,P n } Recursos={R 1,R 2,…,R m }

7 24/04/2001Sistemas Operacionais I - Versão Beta 39-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, P i R j, indica que P i requisitou R j. – Uma conexão direta de um Recurso para um Processo, R j P i, implica que es that R j foi alocada por P i. – Se não houver ciclos deadlock não existe

8 24/04/2001Sistemas Operacionais I - Versão Beta 39-8 GRAFO DE ALOCAÇÃO DE RECURSOS R1R3 R4 R2 P3P3 P2P2 P1P1 R1 P1P1 P2P2 P3P3 P4 R2R4 Há deadlock. Mesmo ciclos mas sem deadlock. R3R1

9 24/04/2001Sistemas Operacionais I - Versão Beta 39-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

10 24/04/2001Sistemas Operacionais I - Versão Beta 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 R j se j>i

11 24/04/2001Sistemas Operacionais I - Versão Beta 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á

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

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

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

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

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

17 24/04/2001Sistemas Operacionais I - Versão Beta 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

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

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

20 24/04/2001Sistemas Operacionais I - Versão Beta 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

21 24/04/2001Sistemas Operacionais I - Versão Beta 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


Carregar ppt "DeadLock Sistemas Operacionais I Módulo 7. 24/04/2001Sistemas Operacionais I - Versão Beta 39-2 DEADLOCK Ocorre quando um grupo de processos competem."

Apresentações semelhantes


Anúncios Google