Sistemas Distribuídos Coordenação

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

Download "Sistemas Distribuídos Coordenação"

Transcrição

1 Sistemas Distribuídos Coordenação Vinícius Fernandes Soares Mota 1

2 Até agora Vimos algumas formas ara rocessos sincronizarem suas ações Estudamos vários roblemas que odem surgir com a concorrência de rocessos 2

3 Agora 3 Nosso objetivo é verificar como os mecanismos de sincronização centralizada odem ser estendidos a um ambiente distribuído. Existe um curso somente sobre algoritmos distribuídos. Nosso objetivo é introduzir alguns dos rinciais asectos.

4 4 Sincronização de Processos Processos Cooerativos: Afetam ou são afetados or outros rocessos. Podem comartilhar um mesmo esaço de endereços lógicos, ou um mesmo arquivo. Endereços lógicos: threads, ou rocessos leves. Acesso concorrente a dados ode gerar inconsistência de dados. Devem ser desenvolvidos mecanismos ara garantir a consistência de dados comartilhados or rocessos cooerativos.

5 5 Jantar dos filósofos... Formulado or Dijkstra, 1965 Cada filósofo come Usando 2 garfos simultaneamente Usa ou larga 2 garfos Modela a disuta or recursos

6 6 Jantar dos filósofos... Algoritmo básico Pense até que o garfo esquerdo esteja disonível; Quando estiver, egá-lo; Pense até que o garfo direito esteja disonível; Quando estiver, egá-lo; Quando ossuir ambos os garfos, comer or um eríodo fixo de temo; Então, coloque o garfo direito ara baixo; Então, coloque o garfo esquerdo ara baixo; Reetir desde o início.

7 7 O caso rodutor/consumidor O caso rodutor/consumidor: Suonha rocessos com memória comartilhada Memória consiste em um buffer de tamanho variável que abriga itens em estoque. Variável counter indica o número de itens em estoque (itens no buffer. Toda vez que um roduto é adicionado incrementa-se o counter. Toda vez que um roduto é retirado decrementa-se o counter.

8 8 O caso rodutor/consumidor / inicializacao fim = 0; ini = 0; n = 0; // codigo do rodutor for (i=0; i<1000; i++) { while (n == caacidade); buf[fim] = roduzir(i); fim = (fim + 1) % caacidade; n++; } // codigo do consumidor for (i=0; i<1000; i++) { while (n == 0) ; consumir(buf[ini]); ini = (ini + 1) % caacidade; n--; }

9 9 O caso rodutor/consumidor Algoritmos corretos isoladamente. Podem causar inconsistência se rodados em aralelo. Problema: Sessão Crítica!!! Região de código onde um rocesso está acessando dados comartilhados. Problemas de inconsistência ocorrem em sessões críticas e devem ser evitados.

10 10 O roblema da sessão crítica Soluções ara o roblema da sessão crítica devem satisfazer os requisitos: Exclusão mútua: Se um rocesso está executando uma sessão crítica (acessando dados comartilhados) os demais rocessos devem eserar. Progressão:Se não há rocessos executando em sessão crítica, somente rocessos que não estão executando no final da sessão odem cometir ela sessão crítica. Esera limitada:existe um limite no número de vezes que outros rocessos são ermitidos a entrar na sessão crítica aós m rocesso requisitar a sessão crítica.

11 11 Sessão Crítica Algoritmo básico enter() // entra na seção crítica bloqueia, se necessário resourceaccesses() // acessa recursos comartilhados na seção crítica exit() // sai da seção crítica outros rocessos odem entrar agora

12 Sistemas centralizados: Semáforos 12 Um semáforo é um tio abstrato de dados que ossui um valor inteiro, uma lista de rocessos em esera e duas oerações P (do holandês Proberen, testar) V (do holandês Verhogen, incrementar) A imlementação do semáforo deve ser atômica Garantido or linguagens que oferecem o recurso

13 Sistemas centralizados: Semáforos 13 Para garantir exclusão mútua a uma determinada região (região crítica), cada rocesso deve chamar a oeração P antes de acessar tal região e chamar a oeração V aós sair dessa região Oeração P sobre um semáforo S Testa se o rocesso que executou P(S) ode ou não entrar na região crítica Oeração V sobre um semáforo S Sinaliza ao semáforo que o rocesso não está mais na região crítica e retira outro rocesso da fila de esera

14 Sistemas centralizados: Semáforos 14 // S.valor começa com 1 P(S) S.valor -= 1; Se (S.valor < 0) // bloqueia o rocesso e insere em S.fila V(S) S.valor += 1; Se (S.valor <= 0) // retira algum rocesso de S.fila e o coloca em execução

15 O caso rodutor/consumidor com semáforos 15 // inicializacao fim = 0; ini = 0; n = 0; semaforo S; S.valor = 1; // codigo do rodutor for (i=0; i<1000; i++) { while (n == caacidade) ; buf[fim] = roduzir(i); fim = (fim + 1) % caacidade; P(S); n++; V(S); } // codigo do consumidor for (i=0; i<1000; i++) { while (n == 0) ; consumir(buf[ini]); ini = (ini + 1) % caacidade; P(S); n--; V(S); }

16 O caso rodutor/consumidor com semáforos 16 Código do rodutor:... roduzir um item... wait(emty); wait(mutex);... Adicionar um item no vetor... signal(mutex); signal(full);

17 O caso rodutor/consumidor com semáforos 17 Código do consumidor: wait(full); wait(mutex);... remove nextc do buffer;... signal(mutex); signal(emty);... consome o róximo item...

18 Sincronização em Sistemas Distribuídos Conceitos imortantes no rojeto de qualquer alicação distribuída: Comunicação Sincronização Sincronização em alicações distribuídas: Como garantir exclusão mútua no acesso a seções críticas? Como garantir atomicidade na execução de uma transação distribuída? Como alocar recursos evitando a ocorrência de deadlocks? 18

19 Sincronização em Sistemas Distribuídos 19 Sincronização em sistemas centralizados: utiliza memória comartilhada Exemlos: semáforos, monitores etc Sincronização em sistemas distribuídos: utiliza troca de mensagens Imlementada via algoritmos distribuídos Mesmo determinar se um evento A ocorreu antes ou deois de um evento B é mais comlexo do que em um sistema centralizado

20 20 Exclusão Mútua Distribuída Sistemas Centralizados: memória comartilhada (semáforos, monitores etc) Sistemas Distribuídos: via troca de mensagens Requisitos: Segurança: No máximo um rocesso ode estar executando na seção crítica (SC) Subsistência: Um rocesso que requisita acesso à SC, obtém este acesso em algum momento. Ou seja, não há deadlock ou starvation. Ordenação: Se uma requisição ara entrar na SC aconteceu antes de outra, a entrada de SC é garantida na ordem

21 Primeira Solução: Algoritmo Centralizado 21 Existe um rocesso coordenado (PC) Gerencia o acesso à SC Processos comuns Antes de entrar na SC: enviam request ao PC Quando recebem rely: entram na SC Quando saem da SC: enviam release ao PC Processo Coordenador: Enfileira request quando a SC ocuada Desenfileira request ao receber um release

22 Primeira Solução: Algoritmo Centralizado 22 Queue of requests Server Grant token 1 1. Request token 2. Release token 4 2 3

23 Primeira Solução: Algoritmo Centralizado (cont.) 23 Número de mensagens trocadas ara entrar na SC: duas (um request e um rely) Saída da SC: uma mensagem (release). Problema: rocesso que centraliza todas as informações e decisões Solução: distribuir a fila de edidos Todos os nós recebem todos os edidos Pedidos são ordenados elos nós da mesma maneira

24 Algoritmos de Exclusão Mútua Distribuída 24 Princiais Algoritmos: Token Ring (*) Ricart e Agrawala (*) Osvaldo e Roucariol Maekawa (*) Algoritmos que serão estudados a seguir

25 25 Algoritmo Token Ring Suõe que os rocessos são organizados como um anel lógico, or onde circula uma token Não exige que a toologia da rede seja em anel (anel lógico e não físico) Cada rocesso deve armazenar a configuração comleta do anel Correção: ao rocesso de osse da token é garantido o acesso à SC

26 26 Algoritmo Token Ring Idéia básica: Se um rocesso não deseja entrar na SC: Ao receber a token, reassa a mesma ara seu vizinho Se um rocesso deseja entrar na SC: Aguarda a assagem da token e a retém Número de mensagens trocadas: entre 1 e n-1

27 27 Algoritmo Token Ring 1 2 n 3 4 Token

28 28 Algoritmo Token Ring Vantagens: simlicidade Desvantagem: tratamento de erros Perda da mensagem que contém a token Deve-se gerar a token novamente Quando gerar? Quem deve gerar? Travamento de rocessos Deve-se reconfigurar o anel

29 29 Algoritmo de Ricart e Agrawala Algoritmo executado or cada rocesso Pi, que comartilha uma SC ( i <= n): Variáveis: estado: estado da seção crítica OSN: relógio lógico do rocesso HSN: maior valor do timestam de qualquer mensagem enviada ou recebida Inicialização: estado:= livre; HSN:= 0;

30 30 Algoritmo de Ricart e Agrawala 1. Broadcast de mensagem request com timestam Aós receber um request, envia ack SE -Não quer entrar na SC, ou -Está tentando entrar na SC, mas seu timestam é maior do que o enviado (Se está na SC, coloque o request no buffer) 3. Entrar na SC, quando receber ack de todos 4. Aós sair da SC, envia ack ara cada request endent e antes de fazer nova requisição

31 31 Algoritmo de Ricart e Agrawala On initialization state := RELEASED; To enter the section state := WANTED; Multicast request to all rocesses; request rocessing deferred here T := request s timestam; Wait until (number of relies received = (N 1)); state := HELD; On receit of a request <T i, i > at j (i j) if (state = HELD or (state = WANTED and (T, j ) < (T i, i ))) then queue request from i without relying; else rely immediately to i ; end if To exit the critical section state := RELEASED; rely to any queued requests;

32 32 Algoritmo de Ricart e Agrawala Número de mensagens trocadas ara entrar na SC: 2 (n -1) n-1: requests n-1: relys Vantagem: Distribuído (sem um onto central de falha) Desvantagem: Em qual situação este algoritmo ode ser ineficiente?

33 33 Algoritmo de Ricart e Agrawala Número de mensagens trocadas ara entrar na SC: 2 (n -1) n-1: requests n-1: relys Vantagem: Distribuído (sem um onto central de falha) Desvantagem: Em qual situação este algoritmo ode ser ineficiente? Caso de Mútlilas requisições or um SC

34 34 Jantar dos filósofos... Uma solução distribuída (Kandy, 1984) Para cada ar de filósofos que disutam um recurso, crie um garfo e dêo ao filósofo com a ID mais baixa (n ara o agente Pn). Cada garfo ode estar sujo ou limo. Inicialmente, todos os garfos estão sujos. Quando um filósofo quer usar um conjunto de recursos (isto é, comer), esse filósofo deve obter os garfos de seus vizinhos. Para cada garfo o filósofo não tem, ele envia uma mensagem de edido. Quando um filósofo com um garfo recebe uma mensagem de edido, ele mantem o garfo se ele está limo, mas desiste quando está sujo. Se o filósofo envia o garfo, ele lima o garfo antes de fazê-lo. Deois que um filósofo acaba de comer, todos os garfos ficam sujos. Se outro filósofo havia edido anteriormente um dos garfos, o filósofo que acabou de comer lima o garfo e o envia.

35 35 Reforçando 1) No algoritmo do servidor central ara exclusão mútua, descreva uma situação na qual duas requisições não são rocessadas na ordem acontece-antes 2) Qual o imacto na largura de banda de algoritmos de exclusão mútua 3) O algoritmo de Ricart e Agrawala tem o roblema de que se um rocesso cai e não resonde a uma solicitação de outro rocesso ara acessar recursos, a falta de resosta será interretada como negação de ermissão. Solução: todas as solicitações serem resondidas imediatamente ara facilitar a detecção de rocessos quebrados. Existem circunstâncias em que mesmo este método é insuficiente? Discutir.

36 36 Reforçando 1) No algoritmo do servidor central ara exclusão mútua, descreva uma situação na qual duas requisições não são rocessadas na ordem acontece-antes O Processo A envia uma solicitação ra ara entrar na Seção crítica e envia uma mensagem m ara B. Ao receber m, B envia um edido rb ara entrar na SC. Para satisfazer a regra aconteceu-antes ra deve ser concedido antes de rb. No entanto, devido a atrasos de roagação de mensagem, rb chega ao servidor antes de ra, Eles serão atendidos na ordem oosta.

37 37 Reforçando 2) Qual o imacto na largura de banda de algoritmos de exclusão mútua A largura de banda será dividida elo temo que cada rocesso segurar a exclusão mútua

38 38 Reforçando 3) O algoritmo de Ricart e Agrawala tem o roblema de que se um rocesso cai e não resonde a uma solicitação de outro rocesso ara acessar recursos, a falta de resosta será interretada como negação de ermissão. Suonha que um rocesso nega ermissão e, em seguida, falha. O rocesso solicitante ensa que ele está vivo, mas a ermissão nunca virá. Uma saída é o solicitante não bloquear realmente, mas sim ir dormir or um eríodo de temo fixo, aós o qual ele examina todos os rocessos que negaram ermissão ara ver se eles ainda estão em execução.

39 42 Algoritmos de Eleição Gruo de rocessos deve eleger um coordenador. Alicações: Gerenciamento de rélicas, Algoritmos centralizados de coordenação, sincronização, etc... A escolha do coordenador deve ser única, mesmo que vários rocessos de eleição tenham começado simultaneamente.

40 43 Requisitos Algoritmos de Eleição Segurança Um rocesso conhece o rocesso eleito Subsistência Todos os rocessos articiam da eleição

41 Algoritmo de eleição baseado em anel 44 Processos organizados em toologia anel Todos rocessos iniciam como não articiantes Marca a si mesmo como articiante e envia uma mensagem com seu id no sentido horário Ao receber Se o id recebido é maior, encaminha ara o vizinho Se o id é menor Se é não articiante, substitui elo seu id Se é articiante, não encaminha a mensagem

42 Algoritmo de eleição baseado em 45 anel Nota: Eleição iniciada elo rocesso 17. O maior identificador encontrado até então é o 24. Processos com estado articiante estão escurecidos

43 Algoritmo Tirano (Valentão) The bully algorithm 46 Membros do gruo devem conhecer a identidade e o endereço dos outros membros. Mensagens: Eleição: enviada ara anunciar o início de uma nova eleição Resosta: enviada em resosta a uma mensagem de eleição. Coordenador: enviada ara anunciar o coordenador. Um rocesso inicia uma eleição quando notar uma falha no coordenador (não recebeu uma resosta a uma requisição deois de um certo número de tentativas ou aós um certo timeout, or exemlo).

44 Algoritmo Tirano The bully algorithm 47 Processo inicia eleição enviando mensagem de eleição ara os rocessos de maior rioridade. Estágio 1 1 eleição resosta eleição 2 resosta 3 eleição C 4

45 Algoritmo Tirano The bully algorithm 48 Processo inicia eleição enviando mensagem de eleição ara os rocessos de maior rioridade. Processos resondem a mensagem e iniciam nova eleição Estágio 1 Estágio eleição resosta eleição 2 resosta 2 eleição resosta 3 eleição 3 eleição C 4 C 4

46 Algoritmo Tirano The bully algorithm 49 Processo inicia eleição enviando mensagem de eleição ara os rocessos de maior rioridade. Processos resondem a mensagem e iniciam nova eleição Processo coordenador envia mensagem de coordenador. Estágio 1 Estágio 2 Estágio timeout 1 eleição resosta eleição 2 resosta 2 2 eleição resosta 3 eleição 3 3 eleição C 4 C 4 4

47 Algoritmo Tirano The bully algorithm 50 Processo inicia eleição enviando mensagem de eleição ara os rocessos de maior rioridade. Processos resondem a mensagem e iniciam nova eleição Processo coordenador envia mensagem de coordenador. Se nenhuma mensagem for recebida, rocesso se declara coordenador e envia mensagem de coordenador ara os rocessos de menor rioridade. Estágio 1 Estágio 2 Estágio 3 Eventualmente... Estágio timeout 1 1 eleição resosta coordenador eleição 2 resosta 2 2 C 2 eleição resosta 3 eleição eleição C 4 C 4 4 4

48 51 Reforçando 1) Comare o algoritmo de eleição do anel com o algoritmo valentão 2) Esboce um seudo-código ara ambos os algoritmos.

49 Consenso 52 Um dos roblemas mais fundamentais de SDs Informalmente: como fazer um gruo de rocessos concordar em um valor Qual é a hora Fazer ou não fazer commit Quem é arte do gruo Quem é o líder do gruo Podemos seguir ara o róximo asso do algoritmo Já vimos algumas instâncias, agora vejamos o mais geral

50 Um ouco de formalismo 53 Consenso: Para chegar a um consenso, todo rocesso i começa no estado indeciso e roõe um único valor v i, extraído de um conjunto D (i = 1, 2,..., N). Os rocessos se comunicam, trocando valores. Cada rocesso configura o valor de uma variável de decisão d i. Ao fazer isso, ele entra no estado decidido, no qual não ode mais mudar d i (i = 1, 2,..., N).

51 Um ouco de formalismo 54 Conjunto de nós Falhas or fail-sto ou bizantinas Mais tarde: fail-sto + recueração Objetivo: todos os rocessos i õem o mesmo valor em uma variável d i Não queremos amarrar de onde vem v i v i ode ser roosto or um nó ou decidido a artir de várias roostas

52 Um ouco de formalismo 55 P 1 d 1 :=roceed d 2 :=roceed P 2 v 1 =roceed 1 v 2 =roceed Consensus alg ori thm v 3 =abort P 3 (crashes)

53 Um ouco de formalismo 56 Requisitos: 1. Concordância: Todos os nós escolhem o mesmo valor ara d i 2. Validade: O valor escolhido deve ter sido roosto or algum nó 3. Terminação: Alguma hora, todos decidem um valor Pode ser descrito de formas ligeiramente diferentes: generais bizantinos, consistência interativa, atomic broadcast,...

54 57 Consenso Consistência interativa Consenso com líder (generais bizantinos)

55 Uma boa nova 58 Esses roblemas são equivalentes Resolvemos um, resolvemos todos Por exemlo: CI a artir de GB: GB várias vezes, cada rocesso é líder uma vez C de CI: roda CI, deois nós alicam mesma função a vetor ara decidir Por aí vai...

56 Uma éssima nova 59 Nenhum desses consensos ode ser garantido em um sistema assíncrono com falha Não odemos decidir não levar em conta a oinião de um nó; ele ode estar aenas lento e mandar a mensagem na hora errada Consenso ode acontecer frequentemente ou ode acontecer raramente Não funciona com crash não funciona com falhas bizantinas

57 Mas a vida continua 60 Se consenso não funciona em um sistema assíncrono e: Multicast totalmente ordenado? Relicação consistente? Commits em gruo? Na rática, vivemos com isso: Tentamos até que o sistema se comorte como síncrono Mascaramos falhas: eseramos até o rocesso resonder Usamos detectores de falha: Crash fail-sto (semre que funciona, claro)

58 Comentário 61 Eleição é um consenso Casos de falha, não há acordo sobre quem é líder Qualquer um ode achar que é Se gente demais achar que é, há um livelock Como um líder não bagunça trabalho do outro? Proostas são ordenadas Todos os nós sabem qual a mais recente que conhecem

59 70 Questões Sincronização Vinícius Fernandes Soares Mota

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

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

Exclusão Mútua e Eleição

Exclusão Mútua e Eleição Exclusão Mútua e Eleição Prof. Raul Ceretta Nunes Curso de Ciência da Comutação ELC1018 - Sistemas Distribuídos 1 Algoritmo Centralizado a) Processo 1 solicita ermissão ao coordenador ara entrar na região

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

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 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

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

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 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 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

Exclusão Mútua Distribuída

Exclusão Mútua Distribuída Exclusão Mútua Distribuída Raimundo Macêdo Laboratório de Sistemas Distribuídos - LaSiD Universidade Federal da Bahia Propriedades de um programa distribuído (Lamport, 1977) Exemplo 2: sistema controlando

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

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. 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. 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

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

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

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

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

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

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada... LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo

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

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

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

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

Sistemas Operacionais. Deadlock

Sistemas Operacionais. Deadlock Sistemas Operacionais Deadlock Deadlocks! Recursos: hardware ou informação! Preemptivo X não preemptivo! Uso do Recurso:! Pedido (Request ou Open)! Uso! Liberação! Um conjunto de processos está em deadlock

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

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

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

Comunicação entre Processos

Comunicação entre Processos Programação Paralela e Distribuída Ordenação e Sincronização Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com http://sites.google.com/site/marceloiury/ Comunicação entre Processos Processos

Leia mais

Sistemas Distribuídos Aula 7

Sistemas Distribuídos Aula 7 Sistemas Distribuídos Aula 7 Aula passada Atomicidade Test-and-set Locks revisitado Semáforos Dois problemas Aula de hoje Limitação dos semáforos Monitores Variáveis de condição Semântica do signal Sincronização

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

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

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

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 Operacionais

Sistemas Operacionais Sistemas Operacionais Processos - Parte 2 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 2) 1 / 33 (Processos - Parte 2) 2 / 33 (Processos - Parte 2) 3 / 33 (Processos - Parte 2) 4 / 33 (Processos

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

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 Operacionais: Sincronização entre processos

Sistemas Operacionais: Sincronização entre processos Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:

Leia mais

Passos lógicos. Texto 18. Lógica Texto Limitações do Método das Tabelas Observações Passos lógicos 4

Passos lógicos. Texto 18. Lógica Texto Limitações do Método das Tabelas Observações Passos lógicos 4 Lógica ara Ciência da Comutação I Lógica Matemática Texto 18 Passos lógicos Sumário 1 Limitações do Método das Tabelas 2 1.1 Observações................................ 4 2 Passos lógicos 4 2.1 Observações................................

Leia mais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais

Escalonamento. Pedro Cruz. EEL770 Sistemas Operacionais Escalonamento Pedro Cruz EEL770 Sistemas Operacionais Avisos Propostas de trabalho já foram revisadas Todos os grupos foram comunicados 2 Jantar dos filósofos - Dijkstra Filósofos estão jantando em uma

Leia mais

Comunicação entre processos (2)

Comunicação entre processos (2) Comunicação entre processos (2) Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: dia 02 de abril 2 Aula passada Comunicação entre processos é útil

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. 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

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

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

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

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Fundamentos Paradigma do produtor-consumidor Sincronização de Processos Produtor while (count == BUFFER_SIZE) ; //no-op //adiciona

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

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

Concorrência. Condições de Corrida. 5a. Tentativa. Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa

Concorrência. Condições de Corrida. 5a. Tentativa. Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa Concorrência Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa Compartilhamento de recursos globais. Gerência de alocação de recursos. Localização de erros de programaçã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

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação SISTEMAS OPERACIONAIS Aula 7 Regiane Kawasaki kawasaki@ufpa.br Slides adaptados da Profa. Sarita Mazzini Bruschi

Leia mais

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.4

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.4 FICHA de AVALIAÇÃO de MATEMÁTICA A.º Teste.º Ano de escolaridade Versão.4 Nome: N.º Turma: Professor: José Tinoco 6//08 Evite alterar a ordem das questões Nota: O teste é constituído or duas artes Caderno

Leia mais

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.3

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.3 FICHA de AVALIAÇÃO de MATEMÁTICA A.º Teste.º Ano de escolaridade Versão. Nome: N.º Turma: Professor: José Tinoco 6//08 Evite alterar a ordem das questões Nota: O teste é constituído or duas artes Caderno

Leia mais

UNIVERSIDADE CATÓLICA PORTUGUESA Faculdade de Ciências Económicas e Empresariais. Microeconomia

UNIVERSIDADE CATÓLICA PORTUGUESA Faculdade de Ciências Económicas e Empresariais. Microeconomia UNIVERSIDADE CATÓLICA PORTUGUESA Faculdade de Ciências Económicas e Emresariais icroeconomia Licenciatura em Administração e Gestão de Emresas 3 de Novembro de Fernando Branco Eame de Finalistas Gabinete

Leia mais

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

Leia mais

14 MODELO DE DECISÃO DA TEORIA DAS RESTRIÇÕES

14 MODELO DE DECISÃO DA TEORIA DAS RESTRIÇÕES 14 MODELO DE DECISÃO DA TEORIA DAS RESTRIÇÕES A artir da remissa da teoria das restrições de ue a emresa oera semre com algum tio de restrição, neste caítulo é abordado o rocesso geral de tomada de decisã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

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

Tolerância a Falhas. Sumário. Acordo Distribuído. December 18, Grupos de Processos

Tolerância a Falhas. Sumário. Acordo Distribuído. December 18, Grupos de Processos Tolerância a Falhas Acordo Distribuído December 18, 2009 Sumário Grupos de Processos Acordo Distribuído Com falha nas comunicações Modelos de Sincronismo Sistemas Assíncronos Sistemas Síncronos Grupos

Leia mais

Comunicação de Grupo: Disfusão Confiável e Atômica

Comunicação de Grupo: Disfusão Confiável e Atômica WTF 2000: Computação mini-curso Distribuída LCMI/DAS/CTC/UFSC Comunicação de : Disfusão Confiável e Atômica Prof. Lau Cheuk Lung E-mail: lau.lung@inf.ufsc.br Departamento de Informática e Estatística stica

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

Sincronização de Processos (2)

Sincronização de Processos (2) Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância

Leia mais

Aula 03. Evandro Deliberal

Aula 03. Evandro Deliberal Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações

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

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy Conceitos básicos de redes neurais recorrentes Redes eurais e Sistemas Fuzzy Redes eurais Recorrentes A Rede de Hofield A suressão do ruído numa memória auto-associativa linear ode ser obtida colocando-se

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

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica Unidade 3 Controle de Concorrência Primitivas de Programação Concorrente Clássica Programação Concorrente A abstração de programação concorrente é o estudo de sequênciasde execução intercaladas, de instruções

Leia mais

Sistemas Distribuídos Aula 5

Sistemas Distribuídos Aula 5 Sistemas Distribuídos Aula 5 Aula passada Sincronização Race condition Região crítica Locks Algoritmo de Peterson Aula de hoje Atomicidade test-and-set Locks revisitado Semáforos Dois problemas Atomicidade

Leia mais

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

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Semáforos Sincronização de Processos Um semáforo é uma estrutura de dados que consiste em um número inteiro e em uma fila Seu

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Sincronização de processos Aula 07 Em sistemas multiprogramados há interação entre processos para comunicação, que pode ser feita via compartilhamento de memória/arquivos

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

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

Deadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education Deadlock Um problema de concorrência Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education 1 Interação entre Processos Processos que executam em paralelo podem trocar informações

Leia mais

Tipos de Soluções (cont.)

Tipos de Soluções (cont.) Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância

Leia mais

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.1

FICHA de AVALIAÇÃO de MATEMÁTICA A 12.º Ano de escolaridade Versão.1 FICHA de AVALIAÇÃO de MATEMÁTICA A.º Teste.º Ano de escolaridade Versão. Nome: N.º Turma: Professor: José Tinoco 6//08 Evite alterar a ordem das questões Nota: O teste é constituído or duas artes Caderno

Leia mais

Capítulo 3. Deadlocks. Recursos

Capítulo 3. Deadlocks. Recursos Capítulo 3 Deadlocks 3.1. Recursos 3.2. Introdução a deadlocks 3.3. O algoritmo a avestruz 3.4. Detecção e recuperação de deadlock 3.5. Evitando Deadlock 3.6. Prevenindo Deadlock 3.7. Outros assuntos 1

Leia mais

MC504 Sistemas Operacionais MC514 Sistemas Operacionais: Teoria e

MC504 Sistemas Operacionais MC514 Sistemas Operacionais: Teoria e Instituto de Computação Universidade Estadual de Campinas Nome: MC504 Sistemas Operacionais MC514 Sistemas Operacionais: Teoria e Prática Profa. Islene Calciolari Garcia 18 de setembro de 2013 Questão

Leia mais

Capítulo 2 Processos e Threads

Capítulo 2 Processos e Threads Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas

Leia mais

Consenso Distribuído em Sistemas Assíncronos

Consenso Distribuído em Sistemas Assíncronos Consenso Distribuído em Sistemas Assíncronos Uma Solução Probabilística Gerhard Tel: Introduction to Distributed Algorithms, Cambridge Press, sections 14.1 e 14.4 Revendo a Impossibilidade em Sistemas

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 e Replicação Capítulo 7 Agenda Distribuição de Conteúdo Estado versus operações Protocolos de recuperação de atualizações versus protocolos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2 Comunicação em Grupo Suponha que se deseja um serviço de arquivos único

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Impasses Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Princípios de Deadlock Técnicas de solução do problema Prevenir a ocorrência

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

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5)

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) 1.1 (Verdade/Falso) Itens próprios de processos são: Espaço de endereçamento,

Leia mais

Algoritmos Distribuídos Introdução

Algoritmos Distribuídos Introdução Algoritmos Distribuídos Introdução Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br htt://www.dcc.ufmg.br/~loureiro Este material está baseado no caítulo 3 do livro Distributed Systems, second edition,

Leia mais

Sincronização e comunicação entre processos

Sincronização e comunicação entre processos Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sincronização e comunicação entre processos Em um sistema multiprogramável com

Leia mais

Programação Orientada a Objetos. Concorrência

Programação Orientada a Objetos. Concorrência Programação Orientada a Objetos Concorrência Cristiano Lehrer, M.Sc. Níveis de concorrência: Introdução Nível de instrução de máquina: Executando duas ou mais instruções de máquina simultaneamente. Nível

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos Exclusão Mútua Mecanismos para se Obter Exclusão MútuaM Mecanismos de Hardware: Inibição de Interrupções Instrução TSL (Test and Set Lock) Mecanismos de Software: Com Espera

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Capítulo 8 Introdução à replicação e consistência Material de suporte às aulas de Sistemas Distribuídos Copyright DI FCT/ UNL / 1 NOTA PRÉVIA A apresentação utiliza algumas das figuras

Leia mais

ENADE 2011 SISTEMAS OPERACIONAIS

ENADE 2011 SISTEMAS OPERACIONAIS ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas

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

Geometria Computacional Primitivas Geométricas. Claudio Esperança Paulo Roma Cavalcanti

Geometria Computacional Primitivas Geométricas. Claudio Esperança Paulo Roma Cavalcanti Geometria Comutacional Primitivas Geométricas Claudio Eserança Paulo Roma Cavalcanti Oerações com Vetores Sejam x e y vetores do R n e λ um escalar. somavetorial ( x, y ) = x + y multescalar ( λ, x ) =

Leia mais

Sincronização de Processos (2)

Sincronização de Processos (2) Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância

Leia mais