Impasses. Pedro Cruz. EEL770 Sistemas Operacionais

Documentos relacionados
Impasses. Pedro Cruz. EEL770 Sistemas Operacionais

MAC422/5753 Sistemas Operacionais

DEADLOCKS IMPASSES. Vinícius Pádua

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Capítulo 3 Deadlocks - Impasses

Capítulo 3 Deadlocks - Impasses

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal

Programação Concorrente. 2º Semestre 2010

SISTEMAS OPERACIONAIS

Recursos. Exemplos de recursos:

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Deadlock

Sistemas Distribuídos

SOP - TADS Impasses - Deadlock

Sistemas Operacionais

Sistemas Operacionais: Deadlocks

Deadlocks. Sistemas Operacionais - Professor Machado

Fundamentos de Sistemas Operacionais

Capítulo 3. Deadlocks. Recursos

Sistemas Operacionais. DeadLock. Edeyson Andrade Gomes.

Capítulo 7: Impasse (Deadlocks( Deadlocks)

Deadlocks (impasses)

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

Deadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education

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

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

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

ALGORITMOS DISTRIBUÍDOS Deadlock

Sistemas Operativos. Deadlocks FEUP. 23 de Outubro, 2009

Sistemas Operacionais Bloqueios Perpétuos

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos

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

Estratégias de Escalonamento de Processos

Escalonamento de Processos Estratégias de Escalonamento de Processos

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

Escalonamento da CPU

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

Escalonamento da CPU

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

Sistemas de Informação. Sistemas Operacionais

Inversão de prioridades

Sistemas Operacionais

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

Técnicas de Controle de Concorrência

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

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

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

Programação de Sistemas. Impasse e carência

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

Desenvolvimento de Aplicações Distribuídas

Sistemas Operacionais. Escalonamento de processos

Sincronização e comunicação entre processos

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

Resumo: Sistemas Operacionais Abertos

Controle de Concorrência

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

Seções Críticas em Sistemas de Tempo Real

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

Escalonamento de Processos

Algoritmos de escalonamento

Comunicação entre Processos

Contato. professorluisleite.wordpress.com

Sincronização e Comunicação entre Processos

Técnicas de Controle de Concorrência

Aula 10: Escalonamento da CPU

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

Escalonamento em Sistemas de Tempo Real

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Teoria dos Grafos Aula 22

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

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 09. Escalonadores. Conceito, escalonamento, filas de escalonamento e tipos de escalonadores.

Semáforos. Gerenciamento de Recursos I

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

SOP - TADS Escalonamento de Processos

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência.

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Estrutura deste arquivo.. Comunicação Interprocesso Parte 1 de 2 - Cap. 2. Introdução 1 CONDIÇÕES DE CORRIDA

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

Capítulo 2 Processos e Threads

Sistemas Operacionais Aula 7

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

Modelos Probabilísticos Filas M/M/1, M/G/1. Profa. Jussara M. Almeida 1 o Semestre de 2014

Fundamentos de Sistemas Operacionais

Teoria dos Grafos Aula 24

Sincronização e Comunicação de/entre Processos. Na Aula Anterior... Nesta Aula. Comunicação entre Processos. Pipes 07/09/2016

Alocação de Recursos. Referências. Sistemas de Tempo Real: Introdução. Introdução. Modelo de Recursos. Modelo de Recursos

Virtualização. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas de Tempo-Real

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

Escalonamento (Exclusão Mútua)

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Conceito de Processos

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Processos. Escalonamento de Processos

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

Transcrição:

Impasses Pedro Cruz EEL770 Sistemas Operacionais

Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: dia 21 de agosto 2

Recordar é viver Recursos preemptíveis e não-preemptíveis Impasse O que é? Como modelamos? Condições para impasses Resolução para o problema de impasses Algoritmo do avestruz Hipótese: se um processo tem todos os recursos que quer, ele vai terminar em tempo finito 3

Condições para impasses Exclusão mútua Processos precisam de acesso exclusivo a algum recurso Reservar e esperar Um processo pode reservar um recurso e aguardar outros Não preempção Um recurso reservado não é tomado de volta do processo Espera circular Existe uma cadeia cíclica de processos reservando recursos que o próximo precisa 4

Lidando com impasses Detectar e recuperar Prevenir Evitar 5

Necessidade por recursos Processos podem precisar de muitos recursos Mais um tipo Mais de uma unidade Recursos podem ser repetidos Um processo precisa que apenas alguns estejam livres 6

Detecção de impasses - Grafo de esperas Dois tipos de espera Todos os vizinhos são necessários Processo precisa de pelo menos um recurso E Qualquer vizinho basta Processo precisa de todos os recursos OU 7

Todos os vizinhos são necessários Há impasse se há ciclo Cada vértice no ciclo está esperando os outros do ciclo Cada vértice no ciclo está esperando a si mesmo B C F A D E 8

Espera por todos os vizinhos Processo consegue terminar sua execução quando é sumidouro no grafo de esperas Se existe caminho de um ciclo até um sumidouro, então, não existe impasse B C F A D E 9

Estratégias de recuperação Preempção Retrocesso Morte 10

Preempção Recursos não-preemptíveis, pero no mucho Precisa de cuidado Algumas vezes, intervenção do usuário Abordagem otimista 11

Retrocesso Processos criam pontos de salvaguarda Salvaguarda representa um estado do processamento Imagem da memória Estado dos recursos Pontos de salvaguarda não são sobrescritos Detecção de impasse Processo retorna ao estado representado pela salvaguarda Abordagem pessimista 12

Morte Matar sempre processo cuja reexecução não seja danosa Exemplo: Reexecutar uma leitura de arquivo não causa danos Reexecutar uma contagem pode causar danos 13

Evitando impasses Estado seguro Existe ordem de escalonamento na qual todos os processos terminam sua execução Mesmo que peçam todos os recursos a que têm direito Estado inseguro Não existe escalonamento sem impasse se todos os processos pedirem os recursos a que têm direito 14

Exemplo de estados seguros/inseguros Máximo de recursos: Total: 10 Por processo: 5 Recursos com A Recursos com B Recursos com C Recursos disponíveis Estado 0 0 0 10 Seguro 3 1 1 5 Seguro 4 1 1 4 Seguro 4 2 1 3 Inseguro 15

Evitando impasses Evitar estados inseguros Algoritmo do banqueiro 16

Evitando impasses algoritmo do banqueiro Problema: Banqueiro precisa garantir que haja dinheiro no banco para cada cliente que tem direito de sacar dinheiro Banqueiro quer emprestar dinheiro aos clientes Solução: Banqueiro empresta, no máximo, quantidade de dinheiro de forma que consiga devolver dinheiro para o cliente que mais pode sacar 17

Algoritmo do banqueiro - Dijkstra Ao receber um pedido de recurso O atendimento geraria um estado inseguro? Sim: Impedir o atendimento e bloquear o processo Não: Atender ao pedido Ao receber um recurso de volta Algum processo bloqueado pode ter pedido atendido? Sim: Atender ao pedido Não: Deixar pra lá 18

Problemas com o algoritmo do banqueiro A fila de processos bloqueados deve ser gerenciada de forma sábia Evitar que processo fique esperando infinitamente Na prática, processos não sabem quanto de recursos precisarão 19

Prevenção de impasses Atacar as condições de impasses Exclusão mútua Evitar operações de escrita Posse e espera Processos recebem tudo ou nada do que precisam Não-preempção Virtualizar recursos Espera circular Recursos possuem ordem para serem pedidos Gera uma árvore, logo, não há ciclos 20

Um adendo Travamento em duas fases Processo tenta obter seus recursos, um de cada vez Se um dos recursos não estiver disponível, devolve todos 21

Livelock Processos educados Devolvem recursos quando não recebem todos que precisam Pode haver livelock quando dois processos precisam de acesso a dois recursos Processo A pede e recebe recurso 1 Processo B pede e recebe recurso 2 Processo A pede recurso 1 e é rejeitado Processo A devolve recurso 1 Processo B pede recurso 2 e é rejeitado Processo B devolve recurso 2 Processo A pede e recebe recurso 2 22

Inanição Política dá sempre recurso pra quem precisa de menos Aumenta a eficiência do sistema O que acontece com processo que precisa de muitos recursos? Há impasse? 23

Impasses Pedro Cruz EEL770 Sistemas Operacionais