Bruna Rafaella da Costa Moura Silvana dos Santos Lima

Slides:



Advertisements
Apresentações semelhantes
Deadlocks Professora: Lúcia Drummond. Deadlocks Recursos: hardware ou informação Preemptivo Não preemptivo Uso do Recurso: 1. Pedido (Request ou Open)
Advertisements

Sistemas Operacionais Sincronismo e Comunicação entre processos
Sincronização de Processos (1)
Sistemas Operacionais Gerência de Processador
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sincronização em Sistemas Distribuídos
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
Sistemas Distribuídos:Definições e Caracteristicas
Sincronismo e Comunicação entre Processos
Gerência do Processador
Sincronismo e Comunicação entre Processos
Sistemas Operacionais
Sincronização em Sistemas Distribuídos
Arquitetura de Sistemas Distribuídos - Módulo 3: Sincronização em Sistemas Distribuídos 1 Sincronização em Sistemas Distribuídos Módulo 4 [C10,C13,T3]
Conceitos de Programação Paralela - 2
Capítulo 7: Deadlocks.
Algoritmos Distribuídos Professora: Lúcia Drummond
Sistemas Operacionais II
Sincronização em SDs II Bruno M. Carvalho Sala: 3B2 Horário: 35T34.
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,
Sistemas Distribuídos Sincronização e Coordenação
Sincronização de Processos (2)
Sincronização e Comunicação entre Processos
Capítulo 5 – Tanenbaum Capítulo 10,11,12 e 13 - Coulouris
Sistemas Operacionais Adriana Vettorazzo
Sistemas Operacionais
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
Monitores.
Unidade 3 Controle de Concorrência
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Capítulo 7: Deadlocks.
Processo Entidade dinâmica e efêmera
Prof. Alexandre Monteiro Recife
Controle de concorrência
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Operacionais Prof. Galvez. PROBLEMA DE SEÇÃO CRITICA.
Capítulo 7: Deadlocks.
Processos.
SISTEMAS OPERACIONAIS I
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Assunto: Transações concorrentes, Disciplina: Banco de dados II, profa. Cristina Paludo Max W. Ourique Ranieri R. Tremea
SISTEMAS OPERACIONAIS I
Troca de Mensagens Programação concorrente
Conceitos de thread Faculdade PITÁGORAS – Outubro de 2012
Sistemas Operacionais
Protocolo de Bloqueios
Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.
©André Santos, Concorrência: Sincronização de fina granularidade André Santos CIn-UFPE.
Gerenciamento de Processos
Processos Concorrentes
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Sistemas de Memória Cache em Multiprocessadores
Elementos de Informática
Redes II Sistemas Distribuídos
Sistemas Operacionais Distribuídos
Deadlocks Impasses Vinícius Pádua.
Introdução. Funcionalidade. Tipos. Exemplo de Diagrama Típico. Exemplo de Diagrama de Requisito.
Serviço de tempo, Exclusão Mútua, Eleição e Acordo Prof. Dr. Norian Marranghello Grupo 5 Anuar Mamede Neto Eduardo Hitoshi Aoki.
Deadlocks.
Programação Concorrente
Sistemas Operacionais
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
ProgramaçãoConcorrente Glêdson Elias
Lucas R. Costa Rodrigo R. Bezerra Kaio A. da silva
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Transcrição da apresentação:

Bruna Rafaella da Costa Moura Silvana dos Santos Lima Faculdade de Ciências e Tecnologia Mater Christi Sistemas de informação Exclusão mútua Bruna Rafaella da Costa Moura Silvana dos Santos Lima

Introdução Problema Seções críticas Exclusão mútua Algoritmos centralizados Algoritmos distribuídos Algoritmos anel Conclusão

Introdução Iremos discutir o problema de garantir exclusividade de execução para um processo, em um sistema de processos concorrentes. Assim como os sistemas centralizados, os sistemas distribuídos enfrentam o problema de gerenciar recursos compartilhados sem comprometer a sua consistência.

Problema As instruções envolvidas no acesso a recursos globais compartilhados são intercaladas pelo escalonador fora do controle do programador. Recursos que não podem ser usados simultaneamente por diversos processos.

Seção crítica Trecho de código de um programa onde as instruções não podem ser intercaladas com a de outro programa, onde os dados compartilhados são acessados. É o trecho de um programa que deve ser executado sobre exclusão mútua.

Estrutura típica de um processo Repeat entrada da seção crítica; seção crítica; saída da seção crítica; resto do processo; Until false;

Exclusão mútua É uma técnica usada em programação concorrente para evitar que dois processos ou threads tenham acesso simultaneamente a um recurso compartilhado, acesso esse, denominado por seção crítica.

Um algoritmo que implementa exclusão mútua deve satisfazer os seguintes critérios: Exclusão mútua: dado um recurso compartilhado que pode ser acessado por diversos processos ao mesmo tempo, somente um processo pode acessar aquele recurso a qualquer momento. Starvation: cada processo que requisita o recurso deve recebê-lo em algum momento.

Algoritmo centralizado Um processo é escolhido para ser o coordenador; Cada processo tem que pedir autorização ao coordenador para entrar na SC; Se não existe processo acessando a SC, então o coordenador pode imediatamente garantir acesso ao processo que fez a requisição; Se mais de um pede acesso à SC, então só um ganha acesso; Após termino de uso, próximo informa coordenador; Coordenador então pode liberar SC para outro processo (se existir)

Algoritmo centralizado Desvantagens Baixa tolerância a falhas, se o coordenador falhar, possivelmente, todo o sistema falhará. O coordenador pode se tornar um gargalo do sistema.

Processo 1 solicita ao coordenador permissão para entrar na RC. Processo 2 solicita ao coordenador permissão para entrar na mesma RC. Permissão negada. Quando o processo 1 sai da RC, ele avisa ao coordenador que libera o processo 2.

Algoritmo distribuído Se o processo deseja acessar SC, então ele envia uma mensagem para todos os outros processos Mensagem contém: Identificador do processo nome da SC que ele deseja acessar um timestamp único gerado pelo processo que enviou a mensagem

Ao receber mensagem processo: Responde ao processo que enviou mensagem e garante acesso a SC se: não quer acessar a SC quer acessar a SC, mas seu timestamp é maior que o timestamp do processo que enviou a mensagem Não responde se: processo que recebeu mensagem está executando na SC processo está esperando para acessar SC e seu timestamp é menor que o timestamp do processo que enviou a mensagem

Algoritmo distribuído Desvantagens O único ponto de falha foi substituído por n pontos de falha; O tráfego gerado na rede é muito maior; Em sistemas muito grandes todos os processos se tornam possíveis gargalos;

Algoritmo de token Neste método, exclusão mútua é conseguida pelo uso de um token único que circula entre os processos do sistema Um token é uma mensagem especial que dá ao detentor da mensagem direito de acesso a SC Para que o algoritmo seja justo, os processos são organizados em um anel O token circula entre os processos no anel sempre na mesma direção

Algoritmo de token Desvantagens Se o token se perder há a necessidade de se criar um novo É difícil detectar a perda to token; Se algum processo falhar, seu vizinho deve identificar a falha e removê-lo do anel;

Conclusão