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,

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Deadlocks Professora: Lúcia Drummond. Deadlocks Recursos: hardware ou informação Preemptivo Não preemptivo Uso do Recurso: 1. Pedido (Request ou Open)
Sistemas Operacionais Sincronismo e Comunicação entre processos
Sincronização de Processos (1)
CONTROLE DE CONCORRÊNCIA
Metodologia de testes Nome: Gustavo G. Quintã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.
Sincronismo e Comunicação entre Processos
Gerência do Processador
Sincronismo e Comunicação entre Processos
Bloqueios partilhados
Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks
Escalonamento Linux.
Capítulo 7: Deadlocks.
Sistemas Operacionais II
Deadlock Marcos José Santana Regina Helena Carlucci Santana
Deadlock SISTEMAS OPERACIONAIS
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
Processos Conceitos Básicos.
DeadLock Sistemas Operacionais I
Claudio de Oliveira – Thread 09/03/10 20:13 Claudio de Oliveira –
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Sistemas Operacionais I
Sistemas Operacionais Adriana Vettorazzo
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,
Threads sem Sincronização
Sistemas Operacionais
Protocolo CMB em simulação distribuída
Sistemas Operacionais Aula 4
Monitores.
Unidade 1-1 Processos e Threads
Unidade 3 Controle de Concorrência
Sistemas Operacionais
Gerência de Recursos Processador
Capítulo 7: Deadlocks.
Processo Entidade dinâmica e efêmera
Sistemas Operacionais Profª Adriana Vettorazzo
Prof. Alexandre Monteiro Recife
Controle de concorrência
Processos.
Capítulo 7: Deadlocks.
Processos.
SISTEMAS OPERACIONAIS I
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Escalonamento com prioridades
Bruna Rafaella da Costa Moura Silvana dos Santos Lima
Sistemas Operacionais
Escalonamento de Processos e Threads
Processos.
GERÊNCIA DE PROCESSOS Disciplina: Sistemas Operacionais II.
Assunto: Transações concorrentes, Disciplina: Banco de dados II, profa. Cristina Paludo Max W. Ourique Ranieri R. Tremea
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Faculdade Pernambucana - FAPE
Sistemas Operacionais
Engenharia de Sistemas Embarcados Aula 9: Salvo RTOS.
Gerenciamento de Processos
Bruno Affonso Diego Chiquito Ruan Berté.   O código de Escalonamento no Windows é implementado no Kernel.  A rotina que desempenha as tarefas do Escalonador.
Aula – Sistemas Operacionais
Processos Concorrentes
Deadlocks Impasses Vinícius Pádua.
Deadlocks.
Programação Concorrente
Sistemas Operacionais
Sistemas Operacionais
Faculdade Pernambucana - FAPE Sistemas Operacionais Prof. Flávio Gonçalves da Rocha.
Sistemas Operacionais Multimídia Aula 12. Gerência de Processos Mapeamento de processos sobre recursos de acordo com política de escalonamento Possíveis.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

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, arquivos, caixas postais Tipos de recursos compartilháveis, preemptivos, serialmente reusáveis, consumíveis Propriedades de recursos discretos, limitados Classes de recursos conjuntos de recursos idênticos instâncias idênticas de um recurso podem estar disponíveis

Gerenciamento de Recursos Gerenciador de Recursos módulo do sistema operacional responsável pelas solicitações para utilização de recursos de uso exclusivo eventos necessários para utlizar recursos: requisitar recurso utilizar recurso liberar recurso se um recurso requisitado, ou instância dele, não está disponível então o processo solicitante é obrigado a esperar que ele se torne disponível (bloqueado a espera da condição recurso disponível)

Impasse (deadlock) Definição um conjunto de processos se encontra num estado de impasse (deadlock) quando cada processo deste conjunto está esperando (bloqueado) por um evento que só poderá ser realizado por um outro processo deste mesmo conjunto os principais eventos relacionados são: requisição e liberação de recursos

Caracterização de Impasse Condições necessárias Exclusão Mútua recurso utilizado de modo não compartilhado em cada instante o recurso pode estar disponível ou atribuído a um processo Mantém e Espera processo que mantém recurso que lhe foi concedido pode requisitar um outro recurso processo espera pela concessão desse outro recurso que está sendo mantido por um outro processo

Caracterização de Impasse Não preempção recursos não podem ser preemptados recursos só podem ser liberados voluntariamente pelo processo que mantém a sua concessão Espera circular deve existir uma cadeia circular de dois ou mais processos, cada um dos quais está esperando por um recurso mantido pelo próximo elemento da cadeia os recursos solicitados e que causam o bloqueio de processos não podem ser liberados porque os processos estão bloqueados

Caracterização de Impasse detém requisita P2 P1 D2 detém requisita grafo de alocação / requisição de recursos

Impasses Áreas de Estudo Métodos de Manipulação como prevenir o impasse como evitar o impasse como detectar o impasse como recuperar de um impasse Métodos de Manipulação o problema de impasse não ocorrerá prevenir evitar o estado de impasse poderá ocorrer detectar recuperar a recuperação de um estado de impasse pode ser difícil e será caro

Postergação Indefinida (starvation) um processo pode ficar esperando indefinidamente por recursos mesmo quando recursos podem se tornar disponíveis processos que competem por recursos podem levar a uma situação de postergação indefinida fazer um processo esperar indefinidamente por recursos que são fornecidos, quando disponíveis, sempre para outros processos causada por influência das políticas de escalonamento de recursos de sistema

Prevenindo de Impasse para que ocorra um impasse é necessário que as quatro condições necessárias possam verificadas garantindo que no mínimo uma dessas condições necessárias não acontece, se está prevenindo a ocorrência do impasse

Políticas de Prevenção Alocação num único disparo todos os recursos necessários para a execução de um dado processo devem ser solicitados de uma só vez todos os recursos solicitados , se disponíveis, serão entregue ou nenhum recurso será concedido nega mantém e espera má utilização de recursos divisão em subprocessos com necessidades independentes de recursos postergação indefinida pode ocorrer

Políticas de Prevenção Libera para não esperar mantendo quando a concessão para utilizar recursos não é dada então os recursos mantidos devem ser liberados recursos liberados podem ser solicitados novamente nega a não preempção pode acarretar perda de processamento o custo pode ser substancial a postergação indefinida pode ocorrer

Políticas de Prevenção Alocação Hierárquica numeração dos recursos com números únicos processos devem solicitar recursos na ordem ascendente das suas numerações um processo só poderá solicitar recursos de numeração mais alta do que os que ele mantém nega a espera circular pode acarretar numa má utilização de recursos

Evitando o Impasse Política para evitar o impasse o impasse pode ser evitado pelo cuidado que se deve ter na alocação de recursos requisitar informações adicionais sobre como os recursos deverão ser utilizados Política para evitar o impasse declaração de número máximo de recursos a serem utilizados fornecer informações a priori sobre o número máximo de cada tipo de recurso que pode ser requisitado algoritmo da previsão de requisições - algoritmo do banqueiro (advance-claim algorithm)

Evitando o Impasse Algoritmo do Banqueiro cada processo fornece informações sobre o número máximo de requisições para cada recurso que serão realizadas o algoritmo do banqueiro garante que o estado de impasse nunca vai ocorrer as requisições de recursos fazem que o estado de alocação de recursos seja analizado para garantir a não ocorrência de impasse o estado de alocação de recursos é definido pelo número de recursos disponíveis e alocados e o máximo das requisições dos processos

Evitando o Impasse Algoritmo do Banqueiro estado seguro: um estado é seguro (safe) se o sistema pode alocar recursos a cada processo, até o seu máximo, em qualquer ordem e ainda evitar o impasse se o sistema aloca recursos a um dado processo e o estado de impasse pode ocorrer então o estado é inseguro (unsafe) um estado seguro não é um estado de impasse um estado inseguro pode ser um estado de impasse

Detectando o Impasse Detecção de impasse processo que determina se existe um estado de impasse corrente processos e recursos implicados no impasse devem ser identificados algoritmos para detecção de impasse geram uma sobrecarga (overhead) do sistema compromisso entre detectar o impasse e poder recuperar o sistema desse estado

Política de Detecção de Impasse Modelo do Grafo de Alocação de Recursos notação utilizada para permitir que grafos dirigidos indiquem situação de requisição e aquisição de recursos

Política de Detecção de Impasse redução de um grafo de alocação de recursos, onde processos que podem ser completados e processos em impasse podem ser determinados se um processo pode obter concessões então o grafo pode ser reduzido para aquele processo se um grafo pode ser reduzido para todos os seus processos então não existe impasse se um grafo não pode ser reduzido para todos os seus processos então existe o impasse (grafo irredutível)

Recuperando o Impasse quando se verifica que o sistema se encontra em estado de impasse, o impasse deve ser quebrado a quebra de um estado de impasse é realizada pela remoção de uma das condições necesárias para a ocorrência de impasse

Política de Recuperação de Impasse tomar recursos de processos que permitam que outros processos que também estejam em impasse possam continuar nega a não preempção recuperação pode parecer não apropriada processos são anulados (killed) para que recursos possam ser liberados necessidade de muito trabalho para poder selecionar um processo a ser anulado (considerar prioridades) processos selecionados perdem trabalho realizado uma alternativa é a criação de pontos de checagem (check pointers) para que ele possa ser continuado destes pontos