DeadLock Sistemas Operacionais I

Slides:



Advertisements
Apresentações semelhantes
Geometria Computacional Fecho Convexo II
Advertisements

Deadlocks Professora: Lúcia Drummond. Deadlocks Recursos: hardware ou informação Preemptivo Não preemptivo Uso do Recurso: 1. Pedido (Request ou Open)
Inteligência Artificial
Celso C. Ribeiro Caroline T. Rocha
Sistemas Operacionais Sincronismo e Comunicação entre processos
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Introdução Gdes. bancos de dados: Concorrência: Transação:
Sistemas Operacionais Gerência de Processador
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
Celso C. Ribeiro Caroline T. Rocha
Bloqueios partilhados
Q.V.T Fator 2. Condições de segurança e saúde no trabalho. Dimensões
Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks
Escalonamento Linux.
Exercícios de revisão sobre relógios lógicos e físicos
Datalog Recursivo AULA 6 PGC Sistemas de Banco de Dados
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Chapter 4: Threads.
Capítulo 7: Deadlocks.
Algoritmos Distribuídos Professora: Lúcia Drummond
Árvore Binária de Busca
Sistemas Operacionais II
DIAGRAMA DE ATIVIDADES
DIAGRAMA DE CASOS DE USO PERSPECTIVA CONCEITUAL
Exemplo de Espalhamento Extensível 1. Definição dos dados a processar 2 Escondido pela moldura.
Recursos Recurso: objeto físico ou abstrato necessário para que uma tarefa seja executada exemplos: tempo de CPU, memória principal, dispositivos de E/S,
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Aula.
Deadlock Marcos José Santana Regina Helena Carlucci Santana
Deadlock SISTEMAS OPERACIONAIS
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
FUNÇÃO MODULAR.
Escalonamento de Processos
Processos Conceitos Básicos.
Escalonamento Aula 7.
Auditoria de Segurança da Informação
Modelagem de Processos de Negócio
GERENCIAMENTO DE REDES
Claudio de Oliveira – Thread 09/03/10 20:13 Claudio de Oliveira –
Exclusão Mútua A solução mais simples para evitar os problemas de compartilhamento é impedir que dois ou mais processos estiver acessando determinado recurso,
TENSÕES E CORRENTES EM CIRCUITOS TRIFÁSICOS BALANCEADOS Sistemas de potência são alimentados por geradores trifásicos. De maneira ideal, os geradores suprem.
Processamento da Informação BC-05045
Lógica do Sequenciamento das Operações
Expressão algébrica a partir da representação gráfica da função
Unidade 3 Controle de Concorrência
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Cadastro de Docentes e Auxiliares de Educação Infantil
Gerência de Recursos Processador
Salas de Matemática.
Capítulo 7: Deadlocks.
Busca com informação e exploração
Prof. OSVALDO LUIS ASATO 2007
O Plano "Não basta destruir o que sobra;
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Gerenciamento de Projetos
1.
Prof. Alexandre Monteiro Recife
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Capítulo 7: Deadlocks.
Processos.
Algoritmo BSP/CGM para Euler tour em Grafos
Rio Verde - Goiás - Brasil
UML - Unified Modeling Language
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Sistemas Operacionais
Gerenciamento de Processos
Deadlocks Impasses Vinícius Pádua.
Deadlocks.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

DeadLock Sistemas Operacionais I Módulo 7

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

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

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

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

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

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

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

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

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

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

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

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

ENFOQUES Evitar Exemplo Processos p0, p1 e p2 competem por 12 dispositivos de fita max corrente solicitado p0 10 5 5 p1 4 2 2 p2 9 2 7 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

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

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

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

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

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

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

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