SISTEMAS OPERACIONAIS

Documentos relacionados
SSC0640 Sistemas Operacionais I

DEADLOCKS IMPASSES. Vinícius Pádua

Capítulo 3 Deadlocks - Impasses

Capítulo 3 Deadlocks - Impasses

Capítulo 7: Impasse (Deadlocks( Deadlocks)

Programação Concorrente. 2º Semestre 2010

Sistemas Operacionais

Sistemas Operacionais: Deadlocks

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

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

Sistemas Distribuídos

Deadlocks (impasses)

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

ALGORITMOS DISTRIBUÍDOS Deadlock

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

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

Fundamentos de Sistemas Operacionais

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais

Sincronização e Comunicação entre Processos

Inversão de prioridades

Deadlocks. Sistemas Operacionais - Professor Machado

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

Capítulo 3. Deadlocks. Recursos

Sistemas de Informação. Sistemas Operacionais

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

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

Escalonamento de Processos

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

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

Resumo: Sistemas Operacionais Abertos

Comunicação entre Processos

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

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

Comunicação entre processos

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

6 ESCALONAMENTO DE CPU

Técnicas de Controle de Concorrência

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Sistemas Operacionais: Sincronização entre processos

Algoritmos de escalonamento

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

Sistemas Operacionais Bloqueios Perpétuos

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

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Sistemas Operacionais: Escalonamento de processos

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

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

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais Aula 7

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --)

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

MEMÓRIA LÓGICA E FÍSICA (1)

Questões de Provas de Períodos Anteriores

Problema dos Leitores/Escritores

Sistemas Operativos: Deadlocks

Gerência do Processador

revisão Controle de Concorrência com Locks Bancos de Dados I 2015/02

Sincronização e comunicação entre processos

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

Escalonamento da CPU

Escalonamento da CPU

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

Sistemas Operacionais. Comunicação entre processos

Capítulo 2 Processos e Threads

SISTEMAS EMBARCADOS. Escalonamento e Tempo Real. Prof. André Schneider de Oliveira

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28

Transcrição:

SISTEMAS OPERACIONAIS Deadlock Andreza Leite andreza.leite@univasf.edu.br

Plano da Aula 2 Introdução Modelo de um Sistema Computacional Característica de um Deadlock Modelagem de um Deadlock (Grafos de Alocação) Tratamento de Deadlock(Identificação, Prevenção e Recuperação)

Definição de Deadlock Exemplo Deadlock - Situação onde dois ou mais processos estão esperando por um evento que só pode ser gerado por algum dos mesmos processos em espera.

Definição de Deadlock 4 DeadLock (Interbloqueio): caracteriza uma situação em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execuções, ou seja, ficam bloqueados.

Definição de Deadlock 5 Processo A Processo B Detém recurso Y E espera pelo recurso X Detém recurso X E espera pelo recurso Y

Caracterização do Deadlock CONDIÇÕES SUFICIENTES E NECESSÁRIAS TODAS necessitam acontecer simultaneamente para ocorrer o deadlock: Exclusão Mútua (Mutual Exclusion) Manter e Esperar (Hold and Wait) Não preempção (No Preemption) Espera Circular (Circular Wait)

Caracterização do Deadlock Exclusão Mútua (Mutual Exclusion) Existência de recursos que precisam ser acessados de forma exclusiva Cada recurso só pode estar alocado a um único processo em um determinado instante Manter e Esperar (Hold and Wait) Possibilidade de processos manterem os recursos alocados enquanto esperam por recursos adicionais Um processo, além dos recursos já alocados, pode ficar na espera por outros;

Caracterização do Deadlock Não preempção (No Preemption) Necessidade de recursos serem liberados pelos próprios processos que os estão utilizando Um recurso não pode ser retirado de um processo porque outros processos o estão desejando Espera Circular (Circular Wait) Possibilidade da formação de uma espera circular Um processo pode aguardar por um recurso que esteja alocado a outro processo e vice versa.

Espera Circular Exemplo de uma Espera circular por recursos. O processo A espera pelo processo B, que espera pelo processo C, que espera pelo processo A. processos A B C Z Y W

Deadlocks 10 Modelagem de Deadlocks utilizando Grafos

Introdução aos Deadlocks Modelagem de deadlock. A modelagem pode ser feita a partir de grafos dirigidos. Um processo é representado por um círculo e um recurso por um quadrado. P i R j Um arco entre um processo e um recurso indica a requisição deste recurso pelo processo, estando o processo no estado bloqueado. Um arco entre um recurso e um processo indica que o recurso está alocado ao processo.

Introdução aos Deadlocks (a) Processo A de posse de um recurso. (b) Processo B bloqueado esperando um recurso. (c) Deadlock.

Definição Matemática Deadlock A visão matemática de um Deadlock pode ser expressa por um Grafo de Alocação de Deadlock: G = ( V, A ) O Grafo contém nós e arestas. V Os nós são os processos = { P 1, P 2, P 3,...} e recursos alocados ={ R 1, R 2,...} A As arestas são as relações ( P i, R j ) or ( R i, P j ) P i R j P i R j P i R j

Definição Matemática Deadlock R3 Atribui a P3 Alocação de recursos (Grafos) P2 Solicita R3

Deadlock Grafo com Deadlock Alocação Circular sem Deadlock

Deadlocks 16 Tratamento de Deadlocks

Tratamento de Deadlock Identificar Prevenir Recuperar

Identificação de Deadlocks Algoritmo de Busca por Espera Circular. Permite identificar: Situação de deadlock. Processos e Recursos envolvidos.

Prevenção de Deadlocks Estabelecer o critério de que todos os recursos sejam previamente alocados, antes do processo ganhar acesso à CPU; Admitir a prática da preempção, isto é, o sistema ter a possibilidade de retirar um recurso alocado para um processo e dar para outro processo; Forçar que um processo não aloque mais do que um recurso de cada vez.

Recuperação de Deadlocks Recuperação através da Eliminação de processos. Mais simples. Pode ser por prioridade. Recuperação através de Rollback. Volta ao Passado (Checkpoint). Dependente da Aplicação.

Prevenção de Deadlocks Algoritmo do Banqueiro (Dijkstra 1965) Exige que todos os processos informem o número máximo de cada tipo de recurso necessário a sua execução. Assim é possível definir: O estado de alocação de um recurso. Número de recursos alocados e disponíveis. O número máximo de processos que necessitem desses recursos. Problemas: Necessidade de definir o número fixo de processos ativos e recursos disponíveis.

Prevenção de Deadlocks Algoritmo do Banqueiro (Dijkstra 1965) Evita condições inseguras. Exemplo (Linhas Gerais): Total de Créditos: 22 Total em caixa: 10 Situação Inicial: Situação Segura: Possui Máximo A 0 6 B 0 5 C 0 4 D 0 7 Possui Máximo Situação Insegura: Possui Máximo A 1 6 A 1 6 B 1 5 B 2 5 C 2 4 C 2 4 D 4 7 D 4 7

Analise os algoritmos 23 Por que pode ocorrer o impasse no código (b)?

Analise os algoritmos 24 Os processos solicitam os recursos na mesma ordem Os processos solicitam os recursos em uma ordem diferente

Analise os algoritmos 25 Em (a): Um dos processos vai adquirir o primeiro recurso antes do outro e este processo também será bem sucedido na aquisição do segundo recurso e poderá executar seu trabalho. Se o outro processo tentar acessar o recurso 1 antes de este ser liberado, esse processo ficará bloqueado até o recurso em questão estar disponível.

Analise os algoritmos 26 Em (b) é possível que: Um dos processos adquira os dois recursos e bloqueie o outro até seu trabalho estar pronto. Mas, ainda é possível que o processo A adquira o recurso 1 e o B adquira o recurso 2. Cada um ficará bloqueado quando tentar adquirir o outro recurso. Nenhum dos processos poderá execução. continuar a

27 Analise os algoritmos

Exemplos R 1 R 3 P 1 P 2 P 3 R 2

Exemplos R 1 R 3 P 1 P 2 P 3 R 2

Exemplos P 5 R 1 R 3 R 4 P 1 P 2 P 3 R 2 P 4 R 5

Exemplos P 2 R 1 P 1 P 3 R 2 P 4