Universidade Estadual Paulista Serviços de Tempo, exclusão mútua, eleição e acordo

Tamanho: px
Começar a partir da página:

Download "Universidade Estadual Paulista Serviços de Tempo, exclusão mútua, eleição e acordo"

Transcrição

1 Universidade Estadual Paulista Serviços de Tempo, exclusão mútua, eleição e acordo Alunos: Anuar Mamede Neto Eduardo Hitoshi Aoki Professor: Norian Marranguello São José do Rio Preto

2 SERVIÇOS DE TEMPO É importante saber a ordenação total de todos os eventos em um sistema, por exemplo para saber qual evento requisitou acesso a algum recurso do sistema primeiro. Para muitas ocasiões é suficiente que todas as máquinas estejam de acordo a respeito de uma determinada marcação de tempo, não sendo importante que este tempo coincida com o tempo real. Nesses algoritmos se refere aos clocks como clock lógico. Se houver uma restrição adicional que exija que os clocks não somente sejam os mesmos mas que também concordem com determinada marcação de tempo a qual não pode diferir do relógio real mais do que um determinado valor. Em sistemas onde o conhecimento do tempo real é importante, utiliza-se clocks físicos. Lamport mostrou que é possível a sincronização dos clocks lógicos para produzir um tempo padrão único e sem ambigüidade, baseado numa relação de acontecimento/anterioridade. A expressão a b é lido como a acontece antes de b e significa que todos os processos concordam que primeiro ocorre o evento a e depois o b. A relação acontecimento/anterioridade definida por Lamport segue: - se a e b são eventos no mesmo processo, e se a ocorre antes de b, então a b é verdadeira - se a é o evento de uma mensagem sendo enviada para um processo, e b é o evento da mesma mensagem sendo recebida por um outro processo, então a relação ab também é verdadeira. Observe que uma mensagem não pode ser recebida antes de Ter sido enviada, pois ela demora um tempo finito para chegar ao destino. Se dois eventos x e y ocorrem em processos diferentes e que não trocam mensagens (nem indiretamente) então nem x y e nem y x são verdadeiras. Eles são eventos concorrentes ou seja nada pode ser dito a eles sobre quem ocorreu antes ou depois. No algoritmo de Lamport, cada processo tem seu próprio clock, rodando em velocidades que não são necessariamente as mesmas. Ele pode ser exemplificado da seguinte maneira: um processo manda uma mensagem P ao processo B no instante 6 marcado pelo relógio do emissor. Ele chega a B no instante 16 marcado pelo relógio do receptor então, tem-se tempo de trânsito igual a 10 unidades de tempo. Se por exemplo uma mensagem T é enviada por A no instante 10 e chega em B no instante 6, ocorre um tempo negativo. E como sabemos que não é possível tratar tempos negativos, e como B sabe que a mensagem saiu de A no instante10 e levou um certo tempo par chegar em B, então B atribui ao seu relógio o valor de 11, correspondendo ao instante de saída da mensagem mais uma unidade de tempo. A partir daí ele volta a incrementar o relógio com seu período normal. Para evitar ambigüidades, se um processo receber mais de uma mensagem ao mesmo tempo, ele associa ao tempo de cada mensagem o número do processo que o originou.

3 EXCLUSÃO MÚTUA Algoritmo de Passagem de Ficha ou Token Ring Podemos demonstrar este algoritmo através de uma rede em anel onde cada processo sabe quem é o próximo da seqüência. Depois de inicializado o anel, o primeiro processo pega a ficha (token) e vê se ele está tentando entrar na Região Crítica (R.C.). Se estiver, entra na R.C., faz todo o trabalho na R.C. e a deixa (não é permitido entrar em uma 2ª R.C. usando o mesmo token). Senão passa o token para o próximo processo. Como conseqüência, quando nenhum processo precisa executar qualquer R.C., a ficha circula ao longo da rede em alta velocidade. O token circula pelos processos numa ordem bem definida então não existe chance de ocorrer starvation. O pior que pode ocorrer quando um processo decidir entrar numa R.C. é ter que esperar que todos os processos que receberem o token antes dele executem uma R.C. Problemas: - perda do token (desaparecimento) é difícil detectar seu desaparecimento pois o fato de ele não aparecer por um certo tempo não significa que ele sumiu, ás vezes um processo ainda está com posse dele, executando uma R.C. - algum processo pára se resolve o problema obrigando todo o processo acusar o recebimento do token. Se um processo estiver morto, ele será identificado quando um vizinho seu tentar e não conseguir passar o token, aí o processo morto pode ser removido do anel e o que está de posse do token passar o token para o próximo processo pulando aquele processo morto. Exclusão Mútua por disputa Este algoritmo de Ricard e Agrawala requer que haja uma ordenação total de todos os eventos no sistema. Isto é, para qualquer par de eventos, como mensagens, não deve haver ambigüidade na qual quem ocorre primeiro. O algoritmo de Lamport apresentado antes, é um modo de alcançar esta ordenação e pode ser usada para fornecer timestamp para a exclusão mútua distribuída. O algoritmo funciona da seguinte maneira: quando um processo quer entrar na região crítica, ele constrói uma mensagem contendo o nome da região crítica que está interessado, o número do seu processo, e o tempo corrente. Ele envia a mensagem para todos os outros processos, inclusive ele próprio. Assume-se que o envio das mensagens é feito de forma confiável, isto é, toda mensagem é reconhecida pelo receptor. Quando um processo recebe uma requisição de outro processo, a ação que esse processo toma depende do seu estado com relação à região crítica nomeada na mensagem. Devem ser identificados três casos: 1 - Se o receptor não está executando a região crítica e não quer entrar na região crítica, ele retorna um OK para o transmissor. 2 - Se o receptor estiver na região crítica, ele não responderá. Ele coloca numa fila a requisição. 3 - Se o receptor quiser entrar na região crítica mas não o fez ainda, ele deve comparar o timestamp da mensagem que ele acabou de receber com o timestamp da

4 mensagem que ele enviou para todos. O menor timestamp ganha. Se a mensagem que chegar tiver timestamp menor, o receptor envia uma mensagem de OK. Se sua própria mensagem tiver um timestamp inferior, o receptor enfileira a mensagem e não envia nada. Depois de enviar as requisições pedindo autorização para entrar na região crítica, um processo espera até que todos lhe dêem a permissão para executa-la. Assim que todas as permissões chegarem, ele poderá entrar na região crítica. Quando ele sai da região crítica, ele envia um OK para todos os processos da sua fila e deleta-os de sua fila. Se no caso de dois processos tentarem entrar na mesma região crítica ao mesmo tempo, os dois processos interessados em entrar na R.C. verificam o timestamp das mensagens. Quando o processo de maior timestamp reconhece que perdeu, manda uma mensagem de OK para o de menor timestamp, enquanto que o de menor timestamp coloca a requisição do perdedor numa fila em vez de enviar uma resposta. Quando o processo que ganhou a disputa termina de executar a R.C., ele retira da fila a requisição que havia perdido a disputa anteriormente e envia a este uma mensagem de OK, permitindo-lhe entrar na região crítica. Votação Um processo pode receber várias requisições de processos que querem entrar na R.C. mas ele concede voto (manda mensagem de OK) a apenas um processo. Para evitar bloqueios (cada processo com um voto), existe a possibilidade de mudança de voto caso o processo receba um pedido de um processo que tenha um timestamp menor daquele que ele concedeu o voto. Neste caso, ele manda uma mensagem de desistência ao processo em que votou. Se o processo que ele tinha votado não estiver executando a R.C., ele envia uma mensagem de confirmação de desistência, caso contrário ele termina de executar a R.C. e envia uma mensagem que já utilizou a R.C. Se o processo receber a mensagem de confirmação de desistência ele pode confirmar a mudança de voto, enviando seu voto a um processo com mais atrativo. Ao receber uma mensagem que já utilizaram a R.C., o processo remove aquele que enviou a mensagem da fila de pendências e vota no próximo da fila, isto é, o mais antigo. Um processo usa o recurso quando tiver a maioria dos votos. Exclusão Mútua Controlada Tem como objetivo evitar a sobrecarga de mensagens das abordagens de exclusão mútua por disputa. Poder ser realizada segundo uma das seguintes estruturas topológicas a seguir: Estrutura em Anel Organiza is processos segundo um anel ordenado logicamente. Esta estrutura é simples, não sujeita a bloqueios e justa, pois o recurso é mantido circulando na rede se estiver livre. Mas também gera tráfego por causa desta contínua circulação e pode demorar pois o anel pode ser grande e/ou todos os processos queiram usar o recurso. Para uma tentativa de correção, na mensagem de controle pode haver um status contendo níveis de prioridade e marcação de tempo.

5 Estrutura em Árvore Organiza os processos como uma árvore dinâmica lógica, onde os processos contêm uma fila FIFO, que armazena as requisições dos processos abaixo na árvore, e um ponteiro para o antecessor, para o qual requisita um recurso caso não esteja com a mensagem de controle. Já na árvore, no processo raiz é sempre mantido o processo que contêm a mensagem de controle para que todos possam chegar até ela. Compressão de Caminho Em uma requisição de um recurso em uma árvore, está requisição pode passar por vários processos acima dela, assim percorrendo um grande caminho até a raiz. Na compressão de caminho os processos pelos quais a requisição passou, armazenam em uma variável local que este recurso estará no processo que o requisitou (processo A), assim não tendo que percorrer todo caminho acima novamente quando requisitar o recurso. Mas como o processo A receberá várias requisições deste recurso, os processos que o requisitaram armazenarão um mapa dos outros processos que também requisitaram o recurso, pois o processo A poderá fornecer o recurso a apenas um dos processos, o que tornaria sem sentido a indicação do recurso no processo A pelos outros processos que também fizeram a requisição do recurso. Portanto quando A repassa o recurso a um processo, os outros que tam bem requisitaram devem atualizar tal indicação. ELEIÇÃO Em um sistema distribuído precisa-se de um processo para coordenar certas atividades como por exemplo o acesso a certos recursos para garantir a exclusividade de uso, mecanismos para a detecção de impasses e a sincronização de processos. A falha do coordenador pode impedir o funcionamento correto do sistema. Resolve-se este problema com o desenvolvimento de algoritmos que possibilitam a eleição de um novo coordenador, logo após a falha do atual seja detectada. O algoritmo de eleição tem como objetivo assegurar que todos os processos saibam quem é o novo coordenador após a eleição. Topologia Completa Cada processo pode chegar a outro do mesmo grupo sem passar por nenhum outro nó, com contato direto entre cada um dos nós do grupo. Para esta topologia assumimos três suposições: - cada ID de processos é único e conhecido por todos. - A comunicação na rede é confiável (não tem perda de mensagem, nunca é mandado duas vezes e sempre é ordenado) mas o processo pode falhar. - Preocupa-se com as falhas do processo

6 As últimas duas suposições possibilitam a detecção de erros e a reentrada de nós no grupo que estavam falhos anteriormente. Topologia em anel Ela é fácil de ser construída e toda mensagem que sai de um nó, sempre volta nele depois. Para a escolha de um líder numa rede em anel, assumimos que os processos estão ordenados e cada um sabe quem é o seu sucessor. Quando um processo nota que o coordenador está inativo, ele manda para seu sucessor uma mensagem de convocação de eleições contendo seu número de identificação. Se seu sucessor estiver inativo, o transmissor pula seu sucessor e tenta o próximo processo do anel até achar um que esteja ativo. A cada passo, o transmissor coloca seu próprio número de identificação na lista de mensagem. A mensagem volta ao processo que o enviou pela primeira vez. Ele reconhece o fato ao receber uma mensagem contendo seu próprio número de identificação. Agora, uma nova mensagem vai circular pela rede está, dizendo quem é o novo coordenador (o processo da lista com o maior número de identificação), cuja identificação consta da mensagem. Dois processos podem notar a falta de um coordenador e convocar eleições ao mesmo tempo, isso acarretará numa circulação extra de mensagens mas não traz nenhum prejuízo relacionado à escolha do líder. Topologia em árvore Uma árvore é um grafo acíclico com N nós interligados por N-1 canais de comunicação de forma que o custo de comunicação entre cada par de nós é o mínimo possível. O nó coordenador é a raiz da árvore. Para escolher um coordenador um ou mais processos enviam para todos os nós da árvore uma mensagem de campanha para líder (CPL), incluindo o instante que a mensagem foi mandada. Quando um nó-folha recebe esta mensagem, ela responde ao nópai com um reconhecimento do CPL (um voto para determinado CPL). Os nós só podem votar uma única vez e depois ficam aguardando o anúncio de novo coordenador. Pode ocorrer que um nó receba mais de uma mensagem CPL, ele vota naquele mais antigo (de menor tempo). Caso haja empate, o de maior pid é o escolhido. Quando todos os nós filhos tiverem votado, o nó-pai envia seu voto para o nó-avô, e assim por diante. O algoritmo escolhe como coordenador aquele que iniciou o processo de eleição primeiro (de tempo menor) pois, ele será o único nó que receberá os votos de todos os seus filhos. Algoritmo de Bully Cada processo tem a sua identidade como sua prioridade, e o de maior prioridade é o coordenador. Quando um processo nota que o coordenador não está atendendo as solicitações, ele inicia uma eleição. Este processo P convoca uma eleição aos processos com prioridades maiores que o seu. Os processos que receberam a convocação de eleição mandam de volta um OK indicando que está ativo e estão dispostos a assumir a condição de coordenador. O trabalho de P acaba quando recebe está mensagem. Os processos que estão dispostos a assumir a condição de coordenador continuam convocando eleições até que

7 sobrem dois processos, aí se escolhe como coordenador aquele com a prioridade mais alta. O processo que ganhar anuncia ao restante que a partir de agora ele é o novo coordenador Algoritmo do convite O algoritmo do convite é um algoritmo assíncrono assim ele é melhor que o algoritmo de bully quando existem pequenas falhas de contagem de tempo. Este algoritmo funciona da seguinte maneira: quando se nota que o líder não responde aos processos, um processo P1 envia uma mensagem de convite para os outros processos, que respondem com a mensagem de aceitação do convite. Então o processo P1 envia uma mensagem de pronto para estes processos que agora são coordenados pelo processo P1. ACORDO O problema fundamental dos sistemas distribuídos é o acordo. Um acordo deve fazer que um conjunto de processadores cheguem a um consenso sobre alguma informação. Formalmente, tem-se um conjunto de M processadores P = {p1, p2,..., pm}, um subconjunto F dos quais não estão funcionando adequadamente F={f1, f2,..., fn}. Cada processador pi armazena um conjunto de valores V, baseado nos quais é calculado um valor de acordo Ai. Para cada par de processadores pi e pj, funcionando normalmente, Ai=Aj é o valor de consenso. Um adversário é usado para testar os algoritmos que resolvem este problema. O objetivo de um adversário é criar situações não esperadas por um protocolo para testá-lo (como por exemplo destruindo ou modificando mensagens). O poder que o adversário tem, somos nós quem damos, assim controlando até que ponto nosso protocolo pode ser testado, mas nunca criaremos um adversário que gere situações impossíveis e ou irreais. Falhas Bizantinas O problema de consenso pode ser resolvido a partir do acordo bizantino explicado a seguir: Um turco liderou uma invasão à cidade de Bizâncio. O imperador de Bizâncio reuniu seus exércitos (cada um comandado pelo seu general) e foram ao encontro do turco e tinham força o bastante para resistir se agissem coordenadamente, isto é, ou todos atacassem ou todos recuassem. Depois de alguns dias, os generais pretendiam atacar os turcos ao amanhecer mas como cada general tinha sua própria opinião sobre o poderio turco e de quando atacar e quando defender que eles deveriam tomar uma decisão de consenso para definir se e quando atacar. Os generais mandariam mensageiros durante a noite para tomar a decisão de consenso mas este esquema tinha dois problemas. O primeiro relacionado ao risco dos mensageiros serem assassinados e a mensagem nunca chegar, e o segundo pelo risco dos generais bizantino fossem corrompidos pelos turcos, que podem enviar mensagem erradas tentando evitar que os parceiros cheguem a um acordo. A partir dos problemas, os generais concordaram em tomar como decisão de consenso à opinião da maioria, depois de serem analisados todas as mensagens recebidas. No caso de empate a decisão seria de defender.

8 O consenso é atingido quando o número total de generais seja no mínimo igual ao triplo de generais corrompidos mais um. Com isso pode se chegar a um consenso mas o volume de informações transmitidas é grande pois cada general além de enviar sua opinião aos demais deve transmitir as informações que recebeu dos demais a todos os outros. Imaginando que se têm M generais, N dos quais foram corrompidos. Cada general tem sua opinião Oi e recebe dos demais as respectivas opiniões Oj, j diferente de i. Cada general forma um conjunto de decisões da seguinte maneira: Di={di1, di2,...,dim}. Dii = Oi Dij = Oj, se os valores recebidos do j-ésimo general forem majoritariamente Oj, caso contrário fazem dij = recuar Finalmente a decisão com maior número de votos em Di é tomada. Para transformar este problema num aspecto computacional, se troca os generais por processadores. Pode se reduzir o custo computacional fazendo restrições que reduzam o número de mensagens em trânsito. De qualquer forma, processadores que não funcionam corretamente não costumam atuar com tanta eficiência para obstruir o bom funcionamento do sistema. Portanto não se compensa tentar tornar imune o sistema contra falhas bizantinas. Vale mais a pena para tanto na melhoria dos componentes do sistema e ainda assim o estudo dos protocolos dos generais bizantinos é interessante devido ao grande volume de trabalho desenvolvido para torná-lo eficiente. Impossibilidade de Consenso Pelas falhas bizantinas mostramos que é possível os processadores entrarem em um acordo. Mas na falha bizantina admitíamos que se tratava de um sistema síncrono onde todos os processadores passavam informações dentro de um tempo pré-estabelecido. Em sistemas distribuídos assíncronos não se tem a resposta por um tempo anteriormente definido. Não existe algoritmo que garanta que todos os processadores cheguem a um consenso num tempo finito demonstrando assim a impossibilidade de um sistema assíncrono chegar a um consenso mesmo sem falhas bizantinas. Demonstra-se isso provando que existem casos onde o protocolo fica impedido de chegar a um consenso. Apesar disto os sistemas distribuídos assíncronos são bastante desenvolvidos e utilizados. Esses sistemas reais não garantem 100% de funcionamento correto e admitem que falham em casos raros. A intervenção humana é usada para detectar e corrigir o problema. Consenso Distribuído aleatório Várias pesquisas recentes estão sendo feitas para o desenvolvimento de protocolos que incorporam não determinismo na busca pelo consenso. Estes processadores não aguardam indefinidamente pelas respostas dos seus pares, param após um certo número de passos. O mais simples destes protocolos usa o conceito de memória compartilhada. Tem-se M processadores, nos quais N podem falhar. Tem-se um vetor V como a preferência de cada processador. Se em algum instante vi for igual para todos os processadores, tem-se um consenso. Se não houver um consenso, o i-ésimo processador escolhe um aleatoriamente. Eventualmente todos vão concordar com o mesmo valor.

9 Existem problemas neste algoritmo: admite que o sistema é síncrono (cada um aguarda sua vez de testar V e decidir sobre o consenso). Para tornar o sistema assíncrono, associa-se a vi o número de ciclos que o processador pi já executou. Quando todos entrarem no mesmo ciclo e preferirem a mesma coisa, o consenso foi atingido. O segundo problema acontece quando um processador falhar e assim não atualizará seu número de ciclos, inviabilizando o acordo. Resolve-se isso se concentrando nos processadores mais rápidos, onde se admite que apenas os de processadores mais rápidos discordem enquanto que os mais lentos são obrigados a concordarem com os mais rápidos.

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Sincronização Como as regiões críticas são implementadas em um SD? Como

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,

Leia mais

Sistemas Distribuídos Capítulo 6 - Aula 12

Sistemas Distribuídos Capítulo 6 - Aula 12 Sistemas Distribuídos Capítulo 6 - Aula 12 Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de hoje Exclusão Mútua Algoritmos de Eleição 1 Exclusão Mútua - Questão fundamental

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Exclusão Mútua Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.2 pág. 325-329 Conteúdo Algoritmo centralizado Algoritmo distribuído (Algoritmo

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Exclusão Mútua Gustavo Reis gustavo.reis@ifsudestemg.edu.br - Questão fundamental em SDs Concorrência e colaboração entre vários processos Processos vão precisar acessar simultaneamente

Leia mais

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

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 Relógio Lógico Algoritmo de Lamport Objetivo: Sincronização de clocks lógicos Os tempos associados aos eventos não são necessariamente próximos ao tempo real. Os processos não precisam estar de acordo

Leia mais

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1 Exclusão Mútua Distribuída Algoritmos para eleição de um coordenador ou líder 1 Há situações em que os processos de um sistema distribuído necessitam de coordenar as suas ações: - quando há recursos partilhados,

Leia mais

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Sistemas Distribuídos 7 Coordenação e Acordo n Coordenação e Acordo Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Exclusão Mútua Evitar interferência entre um conjunto de processos e garantir a

Leia mais

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1 Exclusão Mútua Distribuída Algoritmos para eleição de um coordenador ou líder 1 Suponhamos N processos, pi, i=1,2,,n que não partilham variáveis, mas que partilham algum recurso partilhado ao qual devem

Leia mais

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua Sincronização Roteiro Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua Introdução A comunicação entre processos é importante, mas não é só isso que importa; Uma

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Sincronização de Relógio Estados Globais

Leia mais

Sistemas Distribuídos Aula 17

Sistemas Distribuídos Aula 17 Sistemas Distribuídos Aula 17 Aula passada Garantindo ordenação total Relógio de vetores Propriedades Aula de hoje Exclusão mútua Algoritmo centralizado Algoritmo de Lamport Token Ring Exemplo Bancário

Leia mais

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

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock) Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando um evento que somente outro processo do conjunto pode

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência Causal(3) Neste exemplo temos uma sequência de eventos permitida quando o depósito é consistente por causalidade, mas proibida quando

Leia mais

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes Sistemas Distribuídos Exclusão Mútua Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Introdução Coordenação e Acordo Suposição de Falhas Exclusão Mútua Algoritmos Centralizado Distribuído Anel

Leia mais

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

Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua Problema: alguns recursos não podem ser usados simultaneamente por diversos processos (ex.: arquivos) Exclusividade de acesso deve ser garantida pelo sistema esta

Leia mais

Algoritmos Distribuídos Modelo Computacional

Algoritmos Distribuídos Modelo Computacional Algoritmos Distribuídos Modelo Computacional Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro UFMG/ICEx/DCC 1 Modelo Computacional Modelo: Esquema que possibilita

Leia mais

Sistemas Distribuídos Aula 19

Sistemas Distribuídos Aula 19 Sistemas Distribuídos Aula 19 Aula passada Eleição de líder Algoritmo do valentão Algoritmo em anel Aula de hoje Redes sem fio Coordenando acesso Eleição em redes sem fio Redes sem Fio Dispositivos formando

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Modelo de Interação (Clocks e Eventos) Em SDs é difícil estabelecer limites de tempo sobre o tempo tomado para execução de processos,

Leia mais

Eleição de Líder. Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa

Eleição de Líder. Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Eleição de Líder Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Algoritmos de Eleição Muitos algoritmos distribuídos necessitam de seleccionar um processo

Leia mais

Sistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota

Sistemas Distribuídos Estados globais. Vinícius Fernandes Soares Mota Sistemas Distribuídos Estados globais Vinícius Fernandes Soares Mota 1 2 Tópicos Tempo e relógio lógicos (revisão curta) Relógios vetoriais Estados Globais Snapshot distribuído 3 Antes... Por que a sincronização

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos

Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos Sistemas Distribuídos: Conceitos e Projeto Resiliência de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br

Leia mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos problemas clássicos ordenação de mensagens exclusão mútua distribuída eleição de líder... transações ordenação de acontecimentos relógio físico dificuldades relógio

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Exclusão Mútua Transações Distribuídas

Leia mais

Algoritmos Distribuídos. AD Modelo Computacional 1

Algoritmos Distribuídos. AD Modelo Computacional 1 Algoritmos Distribuídos Modelo Computacional Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro AD Modelo Computacional 1 Modelo Computacional Modelo: Esquema que possibilita

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Transação e Controle de Concorrência Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08

Ordenação. Sistemas Distribuídos e Tolerância a Falhas. Universidade da Beira Interior 07/08 Ordenação Sistemas Distribuídos e Tolerância a Falhas Universidade da Beira Interior 07/08 Benjamim Marques M1440 Daniel Félix M1441 João Duarte a14951 Índice Introdução Problema FIFO Ordenação Causal

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação Confiável de Grupo Capítulo 8 Comunicação Confiável de Grupo Camadas de Transporte oferecem comunicação ponto-a-ponto confiável (TCP)

Leia mais

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos

Tempos e Estados Globais. ECO036 - Sistemas Paralelos e Distribuídos Tempos e Estados Globais ECO036 - Sistemas Paralelos e Distribuídos Tópicos Abordados - Tempo - Relógios e Ordenação de eventos. - Relação Happened- Before - Relógios Lógicos - Vetor de Relógios - Relógios

Leia mais

Comunicação em tempo real

Comunicação em tempo real Comunicação em tempo real Introdução à comunicação em tempo real Um STR é um sistema computacional que deve reagir a estímulos (físicos ou lógicos) oriundos do ambiente dentro de intervalos de tempo impostos

Leia mais

Ordenação. Relógios lógicos

Ordenação. Relógios lógicos Ordenação Relógios lógicos 1 Índice Ordenação FIFO Ordenação Causal Ordenação Total Algoritmos Tempo Lógico Relógios Lógicos Relógios Vectoriais 2 Introdução Ordenação Objectivo Determinar à posteriori

Leia mais

Algoritmos Distribuídos. AD Algoritmos Básicos 1

Algoritmos Distribuídos. AD Algoritmos Básicos 1 Algoritmos Distribuídos Algoritmos Básicos Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro Este material está baseado no capítulo 4 do livro An Introduction to Distributed

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas Distribuídos Capítulo 8 - Aula 14 Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Deadlocks Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.5 pág. 340-344 2 Conteúdo Detecção de deadlock distribuído Detecção centralizada

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação Sincronização Prof. Marcelo de Paiva Guimarães 1 Comunicação de Grupo Grupo É uma coleção de processos que agem juntos em um sistema, de tal forma que quando uma mensagem

Leia mais

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese Modelos Fundamentais Introdução Interação Falhas Segurança 1 Introdução Como entender/classificar o comportamento de um sistema: Quais são as principais entidades do sistema? Como elas interagem? Quais

Leia mais

Sincronização e Concorrência

Sincronização e Concorrência Tópicos da Aula Sincronização e Concorrência Sincronização sincronização interna sincronização externa sincronização de relógio métodos de sincronização Cristian Berkeley tempo lógico Controle de Concorrência

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas Distribuídos Capítulo 8 - Aula 15 Sistemas Distribuídos Capítulo 8 - Aula 15 Aula de hoje Aula Passada Comunicação Confiável Cliente-Servidor Comunicação Confiável de Grupo Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual

Leia mais

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por:

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por: Sistemas Distribuídos e Tolerâ a Falhas Consistê Trabalho realizado por: Gonçalo Dias, Nº. 14638 João Tavares, Nº 14888 Rui Brás, Nº 14820 Consistê Índice Consistent Global States; Distributed Consensus;

Leia mais

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

Faculdade de Informática - PUCRS. Sistemas Distribuídos 2. Faculdade de Informática - PUCRS. Sistemas Distribuídos 4. Faculdade de Informática - PUCRS Algoritmos Distribuídos Processos em um sistema distribuído geralmente buscam atingir cooperação e para tanto utilizam mecanismos de sincronização para que esta cooperação seja realizada de maneira correta.

Leia mais

Sistemas Distribuídos Aula 15

Sistemas Distribuídos Aula 15 Sistemas Distribuídos Aula 15 Aula passada Relacionando eventos Relógios lógicos Algoritmo de Lamport Propriedades Aula de hoje Limitação de Lamport Relógio de vetores Propriedades Garantindo ordenação

Leia mais

Sistemas Distribuídos Capítulo 6 - Aula 10

Sistemas Distribuídos Capítulo 6 - Aula 10 Sistemas Distribuídos Capítulo 6 - Aula 10 Aula de hoje Introdução ao problema de sincronização Relógios Físicos Algoritmos de Sincronização Aula de hoje Relógios Lógicos Relógios de Lamport Relógios Vetoriais

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar - Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra

Leia mais

falhas em sistemas distribuídos

falhas em sistemas distribuídos Tolerância a Falhas falhas em sistemas distribuídos Lamport: A distributed system is a system where I can t get any work done if a machine I ve never heard of crashes. sistemas distribuídos e falhas parciais

Leia mais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações

Leia mais

MC714 - Sistemas Distribuídos. Leandro Villas

MC714 - Sistemas Distribuídos. Leandro Villas MC714 - Sistemas Distribuídos Aula de Hoje Aula Passada Relógios Lógicos Relógios de Lamport Relógios Vetoriais Aula de Hoje Exclusão Mútua Algoritmos de Eleição Exclusão mútua Questão fundamental em SDs

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas Distribuídos Capítulo 8 - Aula 13 Sistemas Distribuídos Capítulo 8 - Aula 13 Aula de hoje Aula Passada Exclusão Mútua Algoritmos de Eleição Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo 1 Tolerância

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 2016.1 PROF. MARCIAL PORTO FERNANDEZ MARCIAL@LARCES.UECE.BR PROF. ANDRÉ RIBEIRO CARDOSO ANDREC@LARCES.UECE.BR 1 4. Sincronização em Sistemas Distribuídos 2 Sumário Sincronização de

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar - Aula 1-1. A CAMADA DE ENLACE DE DADOS (Parte 1) Relembrando as aulas do semestre passado quando estudamos os modelos de referência, lembramos que a Camada de Enlace de Dados é a camada responsável pela

Leia mais

Sincronização e Comunicação entre Processos

Sincronização e Comunicação entre Processos Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.

Leia mais

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

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal Sistemas Operacionais Aula 09: Deadlocks / Impasses Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Desenvolver uma descrição de deadlocks, que impedem que grupos de processos simultâneos

Leia mais

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação em Grupo abril de 2017 Grupos em Aplicações Distribuídas Primitiva de comunicação em grupo um processo envia uma mensagem para um grupo de processos e todos os destinatários

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A Número: Nome: Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de 2006 3 o Teste A Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

Leia mais

Sistemas Distribuídos. Capítulo 7 - Aula 16

Sistemas Distribuídos. Capítulo 7 - Aula 16 Sistemas Distribuídos Aula Passada Capítulo 7 - Aula 16 Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual Ordenação de Mensagens Recuperação Aula de hoje Modelos de Consistência Protocolos

Leia mais

Gerência de Memória Algoritmos de Substituição de Páginas

Gerência de Memória Algoritmos de Substituição de Páginas Gerência de Memória Algoritmos de Substituição de Páginas Carlos Gustavo A. da Rocha Memória Virtual Processo A 60-64kb 56-60kb 52-56kb 48-52kb 44-48kb 40-44kb 36-40kb 32-36kb - A executa: ADD REG, 37000

Leia mais

Sistemas Operacionais: Deadlocks

Sistemas Operacionais: Deadlocks Sistemas Operacionais: Deadlocks Definição Deadlocks (impasse) Um conjunto de processos bloqueados cada um de posse de um recurso, esperando por um outro recurso que já está alocado por outro processo

Leia mais

DEADLOCKS IMPASSES. Vinícius Pádua

DEADLOCKS IMPASSES. Vinícius Pádua DEADLOCKS IMPASSES O que é um Deadlock? 2 O que é um Deadlock? Cenário Dois processos : Gravar CD com dados do scanner Processo A solicita o CD é autorizado Processo B solicita o scanner é autorizado Processo

Leia mais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global GERÊNCIA DE RECURSOS Escalonamento Global Além de prover comunicação, recursos de acesso a rede, memória compartilhada, sistemas de arquivos distribuídos, um sistema operacional distribuído tem que poder

Leia mais

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores Comunicação em Grupo (Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores Exemplos de aplicação: - ferramentas de trabalho

Leia mais

ALGORITMOS DISTRIBUÍDOS Deadlock

ALGORITMOS DISTRIBUÍDOS Deadlock ALGORITMOS DISTRIBUÍDOS Deadlock Sistemas Distribuídos 231 Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando

Leia mais

Sistemas Distribuídos Aula 16

Sistemas Distribuídos Aula 16 Sistemas Distribuídos Aula 16 Aula passada Relacionando eventos Relógios lógicos Algoritmo de Lamport Propriedades Aula de hoje Limitação de Lamport Relógio de vetores Propriedades Garantindo ordenação

Leia mais

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais Impasses Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: hoje 2 Última aula Semáforos Up Down Mutexes Monitor Mensagens Bloquear no envio/recebimento

Leia mais

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02 AULA 04 CONCEITOS DA CAMADA 02 PARTE 02 UNICAST Um endereço MAC unicast (ponto-a-ponto) é o endereço exclusivo utilizado quando um quadro é enviado de um único dispositivo transmissor para um único dispositivo

Leia mais

Capítulo 7: Impasse (Deadlocks( Deadlocks)

Capítulo 7: Impasse (Deadlocks( Deadlocks) Capítulo 7: Impasse (Deadlocks( Deadlocks) Capítulo 7: Impasse (Deadlocks( Deadlocks) O Problema do Impasse Modelo de Sistema Caracterização de Impasse Métodos para Manipular Impasses Prevenção de Impasse

Leia mais

Sistemas Distribuídos. Capítulo 6 - Aula 10

Sistemas Distribuídos. Capítulo 6 - Aula 10 Sistemas Distribuídos Aula Passada Capítulo 6 - Aula 10 Nomeação estruturada Implementação de um espaço de nomes Implementação de resolução de nomes Nomeação baseada em atributo Introdução ao problema

Leia mais

Coordenaçãoe consenso

Coordenaçãoe consenso Sistemas Distribuídos Coordenaçãoe consenso Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Fundamentos Coordenando processos Construíndo sistemas Sistemas construídos 2 Fundamentos Coordenando

Leia mais

Programação Concorrente Locks

Programação Concorrente Locks Programação Concorrente Prof. Eduardo Alchieri Variáveis do tipo trava (lock) Lock: É um mecanismo de sincronização de processos/threads, em que processos/threads devem ser programados de modo que seus

Leia mais

A camada de enlace de dados executa diversas funções específicas. Dentre elas

A camada de enlace de dados executa diversas funções específicas. Dentre elas A camada de enlace de dados executa diversas funções específicas. Dentre elas estão as seguintes: Fornecer uma interface de serviço bem definida à camada de rede. Lidar com erros de transmissão. Regular

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 5: Exclusão Mútua Diego Passos Última Aula Programação Concorrente Programas compostos por mais de um processo ou thread. Pode trazer benefícios: Simplificar o

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede Nível de Enlace Enlace: caminho lógico entre estações. Permite comunicação eficiente e confiável entre dois computadores. Funções: fornecer uma interface de serviço à camada de rede; determinar como os

Leia mais

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

# $ % & ' ( ) * ' ( ) *!   Orientador +, - #$ %&'()* '()*!"" Orientador +,- ."%&/0#12 3"/%'0)/))&/ )4506 7" %/0)/))&/ 8906 8)) :"'/0)/))&/ '% '); Um roteador recebe em alguma de suas interfaces um pacote vindo da rede local ou da rede externa.

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sincronização - Relógios Lógicos Capítulo 6 Agenda Relógios Lógicos Relógios de Lamport Relógios Vetoriais Algumas definições... Um sistema distribuído

Leia mais

2) Em relação aos algoritmos de sincronização de relógios:

2) Em relação aos algoritmos de sincronização de relógios: Curso: REDES Disciplina: SISTEMAS DISTRIBUÍDOS Professor (a): MARCELA SANTOS Data da Aplicação: 23 de maio de 2010 Teste referente à AV2 Nota: Visto do Professor (a): Nome: 1) Sistemas monoprocessados

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Algoritmo de Lamport (Bakery Algorithm) Algoritmo de Dekker Podemos melhorar o algoritmo visto na aula anterior usando mais uma variável

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos,

Leia mais

OMNET++ APLICADO À ROBÓTICA COOPERATIVA

OMNET++ APLICADO À ROBÓTICA COOPERATIVA OMNET++ APLICADO À ROBÓTICA COOPERATIVA Daniel Costa Ramos Doutorando Disciplina de Redes de Comunicação Professor Carlos Montez 07/2014 2/25 Estrutura da Apresentação Introdução Robótica Cooperativa Material

Leia mais

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso 1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação

Leia mais

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br Camada de Transporte 2 Camada de Transporte Função: Fornecer comunicação lógica entre processos de aplicação em diferentes hospedeiros. Os protocolos de transporte são

Leia mais

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede Nível de Enlace Enlace: caminho lógico entre estações. Permite comunicação eficiente e confiável entre dois computadores. Funções: fornecer uma interface de serviço à camada de rede; determinar como os

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Introdução Rede O que é?? 1 O que é uma rede É a conexão de duas ou mais máquinas com o objetivo de compartilhar recursos entre uma máquina e outra. Recursos Podem ser físicos ou

Leia mais

Programação de Sistemas em Tempo Real

Programação de Sistemas em Tempo Real BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa

Leia mais

Eleição de leader e Exclusão Mútua

Eleição de leader e Exclusão Mútua Eleição de leader e Exclusão Mútua November, 9 Sumário Leader Exclusão Mútua Leader O problema muitos algoritmos distribuídos pressupõem que um determinado processo desempenha um papel especial Por exemplo,

Leia mais

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição

ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição ALGORITMOS DISTRIBUÍDOS Algoritmos de eleição Sistemas Distribuídos 251 Em sistemas distribuídos, diversos algoritmos necessitam que um processo funcione como, inicializador, sequenciador, enfim, ter um

Leia mais

Tabelas de dispersão distribuída

Tabelas de dispersão distribuída Aula 13 Tabelas de dispersão distribuídas e redes sobrepostas Introdução. s... FCUL 2005-2006 Tabelas de dispersão distribuída Filiação Como concretizar um directório escalável? Distribuindo o directório

Leia mais

Substituição de Páginas

Substituição de Páginas Substituição de Páginas Pedro Cruz EEL770 Sistemas Operacionais Lembranças sobre memória Tempo virtual Segmentação de memória Realocação Estática Dinâmica Sobreposições MMU Memory Management Unit Página

Leia mais

Capítulo 3 Deadlocks - Impasses

Capítulo 3 Deadlocks - Impasses Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks 3.7. Outras

Leia mais

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso

1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso 1- Replicação de Dados - A replicação de dados permite lidar com falhas ao nível dos nós que impeçam o acesso aos dados neles armazenados e com falhas ao nível da comunicação de dados. - Na replicação

Leia mais

Aluísio Augusto Silva Gonçalves 17 de maio de 2018

Aluísio Augusto Silva Gonçalves 17 de maio de 2018 CONSISTÊNCIA E CONSENSO CONSTRUINDO SISTEMAS DISTRIBUÍDOS TOLERANTES A FALHAS Aluísio Augusto Silva Gonçalves 17 de maio de 2018 CONTEÚDO Recapitulando Garantias de consistência Linearizabilidade Garantias

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

Leia mais

Redes de Computadores.

Redes de Computadores. Redes de Computadores www.profjvidal.com REDES PONTO-A-PONTO E CLIENTE-SERVIDOR REDES DE COMPUTADORES Uma rede de computadores é formada por um conjunto de módulos processadores capazes de trocar informações

Leia mais

Aula 14 Tabelas de dispersão distribuídas e redes sobrepostas

Aula 14 Tabelas de dispersão distribuídas e redes sobrepostas Aula 14 Tabelas de dispersão distribuídas e redes sobrepostas FCUL 2004-2005 Introdução. s... Tabelas de dispersão distribuída Como concretizar um directório escalável? Distribuindo o directório por todos

Leia mais

4 Políticas de Comunicação

4 Políticas de Comunicação 4 Políticas de Comunicação Uma analogia entre as técnicas de trabalho em grupo [Minicucci, 1992] e as políticas de comunicação foi realizada para tentar oferecer o suporte tecnológico pretendido no MC2

Leia mais

Roteamento e Roteadores. Conceitos Diversos

Roteamento e Roteadores. Conceitos Diversos e Roteadores Conceitos Diversos Um roteador é um dispositivo que provê a comunicação entre duas ou mais LAN s, gerencia o tráfego de uma rede local e controla o acesso aos seus dados, de acordo com as

Leia mais

Redes de Computadores

Redes de Computadores s de Computadores Prof. Macêdo Firmino Modelo TCP/IP e OSI Macêdo Firmino (IFRN) s de Computadores Setembro de 2011 1 / 19 Modelo de Camadas Para que ocorra a transmissão de uma informação entre o transmissor

Leia mais

Sistemas Distribuídos. Aleardo Manacero Jr.

Sistemas Distribuídos. Aleardo Manacero Jr. Sistemas Distribuídos Aleardo Manacero Jr. Conteúdo Conceitos fundamentais Estratégias de controle: relógios e algoritmos de sincronismo Serviços: arquivos e memória Corba Processamento distribuído Sistemas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Tolerância a faltas Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello 3 de dezembro de 2015

Leia mais

Tolerância a Falhas com Máquinas de Estado

Tolerância a Falhas com Máquinas de Estado Sistemas Distribuídos junho de 2013 Histórico Lamport,1984: Using time instead of timeout for fault tolerance in distributed systems Schneider, 1990: Implementing Fault-Tolerant Services using the State

Leia mais