Capítulo 3 Deadlocks - Impasses

Documentos relacionados
Capítulo 3 Deadlocks - Impasses

Deadlocks. Sistemas Operacionais - Professor Machado

Capítulo 3. Deadlocks. Recursos

DEADLOCKS IMPASSES. Vinícius Pádua

SSC0640 Sistemas Operacionais I

Programação Concorrente. 2º Semestre 2010

SISTEMAS OPERACIONAIS

Deadlocks (impasses)

Capítulo 7: Impasse (Deadlocks( Deadlocks)

Sistemas Distribuídos

Sistemas Operacionais

Aula 9. Deadlocks. Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação. Universidade Federal de Minas Gerais

Capítulo 7: Deadlocks. Operating System Concepts 8th Edition

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)

Sistemas Operacionais: Deadlocks

ALGORITMOS DISTRIBUÍDOS Deadlock

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS. SEMANAS 11 e 12

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento

Fundamentos de Sistemas Operacionais

Sistemas Operacionais Bloqueios Perpétuos

Sistemas de Informação. Sistemas Operacionais

Escalonamento de Processos

Resumo: Sistemas Operacionais Abertos

Capítulo 6 Deadlocks. Não encontre defeitos, encontre soluções. Qualquer um sabe queixar-se. Henry Ford

Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua)

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sincronização e Comunicação entre Processos

Inversão de prioridades

Sistemas Distribuídos

Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br

Faculdade de Informática - PUCRS. Sistemas Distribuídos 2. Faculdade de Informática - PUCRS. Sistemas Distribuídos 4. Faculdade de Informática - PUCRS

Capítulo 2 Processos e Threads

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Técnicas de Controle de Concorrência

Capítulo 2 Processos e Threads

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011

Sistemas Operacionais. Escalonamento de processos

Algoritmos de escalonamento

Gerência de Recursos. Gerência do Processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

6 ESCALONAMENTO DE CPU

SOP - TADS Escalonamento de Processos

Sumário. Sistemas Operativos: Escalonamento de Processos e Deadlocks. Padrão de Execução dum Processo. Multiprocessamento

Prof. Kleber R. Rovai

Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio

BD II (SI 587) Controle de Concorrência. Josenildo Silva.

Sistemas Operativos: Deadlocks

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Sistemas Operacionais

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

Sistemas Operacionais

Escalonamento da CPU

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

SISTEMAS OPERACIONAIS. Sincronização e Comunicação entre Processos UNIBAN

Escalonamento da CPU

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais Aula 7

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

SISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES

Transcrição:

Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks Pearson Education Sistemas Operacionais Modernos 2ª Edição 1

Recursos Exemplos de recursos de computador impressoras unidades de fita tabelas Processos precisam de acesso aos recursos numa ordem racional Suponha que um processo detenha o recurso A e solicite o recurso B ao mesmo tempo um outro processo detém B e solicita A ambos são bloqueados e assim permanecem Pearson Education Sistemas Operacionais Modernos 2ª Edição 2

Recursos Pearson Education Sistemas Operacionais Modernos 2ª Edição 3

Recursos (1) Deadlocks ocorrem quando garante-se aos processos acesso exclusivo aos dispositivos esses dispositivos são normalmente chamados de recursos Recursos preemptíveis podem ser retirados de um processo sem quaisquer efeitos prejudiciais Recursos não preemptíveis vão induzir o processo a falhar se forem retirados Pearson Education Sistemas Operacionais Modernos 2ª Edição 4

Recursos (2) Seqüência de eventos necessários ao uso de um recurso 1. solicitar o recurso 2. usar o recurso 3. liberar o recurso Deve esperar se solicitação é negada processo solicitante pode ser bloqueado pode falhar resultando em um código de erro Pearson Education Sistemas Operacionais Modernos 2ª Edição 5

Introdução aos Deadlocks Definição formal: Um conjunto de processos está em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poderá fazer acontecer Normalmente o evento é a liberação de um recurso atualmente retido Nenhum dos processos pode... executar liberar recursos ser acordado Pearson Education Sistemas Operacionais Modernos 2ª Edição 6

Quatro Condições para Deadlock 1. Condição de exclusão mútua todo recurso está ou associado a um processo ou disponível 2. Condição de posse e espera processos que retêm recursos podem solicitar novos recursos 3. Condição de não preempção recursos concedidos previamente não podem ser forçosamente tomados 4. Condição de espera circular deve ser uma cadeia circular de 2 ou mais processos cada um está à espera de recurso retido pelo membro seguinte dessa cadeia Pearson Education Sistemas Operacionais Modernos 2ª Edição 7

Modelagem de Deadlock (2) Modelado com grafos dirigidos a) recurso R alocado ao processo A b) processo B está solicitando/esperando pelo recurso S c) processos C e D estão em deadlock sobre recursos T e U Pearson Education Sistemas Operacionais Modernos 2ª Edição 8

Modelagem de Deadlock (3) Estratégias para tratar Deadlocks 1. ignorar por completo o problema 2. detecção e recuperação 3. evitação dinâmica alocação cuidadosa de recursos 4. prevenção negação de uma das quatro condições necessárias Pearson Education Sistemas Operacionais Modernos 2ª Edição 9

Modelagem de Deadlock (4) Como ocorre um deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 10

Algoritmo do Avestruz Finge que o problema não existe Razoável se deadlocks ocorrem muito raramente custo da prevenção é alto UNIX e Windows seguem esta abordagem É uma ponderação entre conveniência correção Pearson Education Sistemas Operacionais Modernos 2ª Edição 11

Detecção com um Recurso de Cada Tipo (1) Pearson Education Sistemas Operacionais Modernos 2ª Edição 12

Detecção com um Recurso de Cada Tipo (1) Pearson Education Sistemas Operacionais Modernos 2ª Edição 13

Detecção com um Recurso de Cada Tipo (1) É possível ocorrer um Deadlock? Observe a posse e solicitações de recursos Um ciclo pode ser encontrado dentro do grafo, denotando deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 14

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 15

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 16

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 17

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 18

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 19

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 20

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 21

Detecção com um Recurso de Cada Tipo (2) Estruturas de dados necessárias ao algoritmo de detecção de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 22

Detecção com um Recurso de Cada Tipo (3) Estruturas de dados necessárias ao algoritmo de detecção de deadlock (2º Caso) Pearson Education Sistemas Operacionais Modernos 2ª Edição 23

Detecção com um Recurso de Cada Tipo (3) Estruturas de dados necessárias ao algoritmo de detecção de deadlock (2º Caso) Pearson Education Sistemas Operacionais Modernos 2ª Edição 24

Detecção com um Recurso de Cada Tipo (3) Estruturas de dados necessárias ao algoritmo de detecção de deadlock (2º Caso) Pearson Education Sistemas Operacionais Modernos 2ª Edição 25

Detecção com um Recurso de Cada Tipo (3) Estruturas de dados necessárias ao algoritmo de detecção de deadlock (2º Caso) Pearson Education Sistemas Operacionais Modernos 2ª Edição 26

Recuperação de Deadlock (1) Recuperação através de preempção retirar um recurso de algum outro processo depende da natureza do recurso Recuperação através de reversão de estado verifica um processo periodicamente usa este estado salvo reinicia o processo se este é encontrado em estado de deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 27

Recuperação de Deadlock (2) Recuperação através da eliminação de processos forma mais grosseira mas também mais simples de quebrar um deadlock elimina um dos processos no ciclo de deadlock os outros processos conseguem seus recursos escolhe processo que pode ser reexecutado desde seu início Pearson Education Sistemas Operacionais Modernos 2ª Edição 28

Evitando Deadlocks Pearson Education Sistemas Operacionais Modernos 2ª Edição 29

Evitando Deadlocks Pearson Education Sistemas Operacionais Modernos 2ª Edição 30

Estados Seguros e Inseguros (1) Demonstração de que o estado em (a) é seguro Pearson Education Sistemas Operacionais Modernos 2ª Edição 31

Estados Seguros e Inseguros (2) Demonstração de que o estado em (b) é inseguro Pearson Education Sistemas Operacionais Modernos 2ª Edição 32

O Algoritmo do Banqueiro para um Único Recurso Três estados de alocação de recursos a) seguro b) seguro c) inseguro Pearson Education Sistemas Operacionais Modernos 2ª Edição 33

O Algoritmo do Banqueiro para Múltiplos Recursos Exemplo do algoritmo do banqueiro com múltiplos recursos Pearson Education Sistemas Operacionais Modernos 2ª Edição 34

Prevenção de Deadlock Atacando a Condição de Exclusão Mútua Alguns dispositivos (como uma impressora) podem fazer uso de spool o daemon de impressão é o único que usa o recurso impressora desta forma deadlock envolvendo a impressora é eliminado Nem todos os dispositivos podem fazer uso de spool Princípio: evitar alocar um recurso quando ele não for absolutamente necessário necessário tentar assegurar que o menor número possível de processos possa de fato requisitar o recurso Pearson Education Sistemas Operacionais Modernos 2ª Edição 35

Prevenção de Deadlock Atacando a Condição de Posse e Espera Exigir que todos os processos requisitem os recursos antes de iniciarem um processo nunca tem que esperar por aquilo que precisa Problemas podem não saber quantos e quais recursos vão precisar no início da execução e também retêm recursos que outros processos poderiam estar usando Variação: processo deve desistir de todos os recursos para então requisitar todos os que são imediatamente necessários Pearson Education Sistemas Operacionais Modernos 2ª Edição 36

Prevenção de Deadlock Atacando a Condição de Não Preempção Esta é uma opção inviável Considere um processo de posse de uma impressora no meio da impressão retoma a impressora a força!!?? Pearson Education Sistemas Operacionais Modernos 2ª Edição 37

Prevenção de Deadlock Atacando a Condição de Espera Circular (1) a) Recursos ordenados numericamente b) Um grafo de recursos Pearson Education Sistemas Operacionais Modernos 2ª Edição 38

Prevenção de Deadlock Atacando a Condição de Espera Circular (2) Resumo das abordagens para prevenir deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 39

Condição de Inanição - Starvation Algoritmo para alocar um recurso pode ser ceder para o job mais curto primeiro Funciona bem para múltiplos jobs curtos em um sistema Jobs longos podem ser preteridos indefinidamente mesmo não estando bloqueados solução: política do primeiro a chegar, primeiro a ser servido Pearson Education Sistemas Operacionais Modernos 2ª Edição 40

Exercício Verificar se o estado é seguro ou inseguro: Caso seguro: Propor a possível resolução Caso Inseguro: Apresentar onde se daria o deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 41

Exercício Verificar se o estado é seguro ou inseguro: Caso seguro: Propor a possível resolução Caso Inseguro: Apresentar onde se daria o deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 42

Exercício Verificar se o estado é seguro ou inseguro: Caso seguro: Propor a possível resolução Caso Inseguro: Apresentar onde se daria o deadlock Pearson Education Sistemas Operacionais Modernos 2ª Edição 43