Caracteristicas importantes dsobre relogio logico, a arquitetura de rede totalmente
conectada é recomendada, podemos comparar os tokens, que possui 2 algoritmos (um token unico
e dupo token) esses algoritmos foram feitos para arquitetura de anel. O anel duplo é
indicado para deteção de perda. Caracteristica de rede para Token,Duplo token,Relogio
Logico:
#Ultrapassagem de mensagem: nenhum deles permitem essa porra!
#Corrupção de Mensagem: Nenhum deles aceita. Quando da deifeito e troca alguns hints ficando
com valores diferentes.
#Perda de Mensagem:Duplo token é. Token e Relogio não.
#Atraso de Mensagem Finito(não tem tempo definido): Duplo token e relogio.
#Atraso de Mensagem Limitado (tem tempo max. definido): Token (se ele for fazer deteção de erro) por que ele usa time-out
Utilização:
Os dois de token são especificos pra resolução de conflitos, mais pode ser usado também para
O relogio Logico é utilizado pra realizer a ordenação total,usando ele com outro algoritmo ele pode resolver também conflitos. Dado um recurso compartilhado a intenção é evitar, dead lock, starvation, justiça ao acesso de recurso.
Passo a Passo dos Algoritmos passados em sala de aula
Algortimo - Não sei o nome
PROCESSO DE BROADCAST:
cada processo possui um vetor de controle de mensagens e relógio com o mesmo tamanho da quantidade de processos existentes (3 processos = vetor de 3 posições para cada processo) um processo envia o dado, os relógios dos processos são atualizados, um processo envia a requisição (REQ) e o processo seguinte aceita a requisição (ACK - mostra que está ciente do pedido de requisição do processo) registra-se o tempo no ql a msg saiu do processo-origem e o estado de conciência do pedido de requisição (ACK)
Só reigstra um ACK qdo a msg atual do processo está vazia, o valor de relógio do processo é o maior valor entre o relógio do processo que enviou a mensagem e o relógio atual, incrementado de 1.
O envio do REL sobrescreve qlqr informação registrada e envia o relógio para todos os outros processos para que seja comparado e incrementado. Qdo se qr usar o recurso, se muda o estado para U (using), para requerer o recurso, o processo entra em estado A (Acquiring). De resto ele fica num estado N (normal)
NUNCA SOBRESCREVA UM REQ POR UM ACK.
Acessa o recurso qm tiver a menor procedência.
Algoritmo - Ricarter Agrawala
1º Passo - Incrementa relogio de quem vai mandar e muda estado pra Q
2º Passo - MSG {pra td mundo que vai mandar msg}
3º Passo - Registra no vetor C1 = Relogio / M1 = Mensagem recebida.
4º Passo - Todos registram a mensagem enviado no vetor de quem mandou.
5º Passo - Incrementa o relogio de todos de acordo com o maior indice.
6º Passo - Tds que receperam REQ Incrementa o relogio e manda o REP pra pro destino.
7º Passo - Muda o estado de quem mandou para U.
Precedencia: Quando no seu vetor tiver um REQ e o tempo for menor (se for igual o vai o que tem o menor ID), vc não respode um REP. Registra T em D{0,1,2,3 ou 4}
REQ não sobrecrever o REP - Ignora mensagem e incrementa relogio.
Olha sempre o tempo no relogio do vetor referente ao processo.
Liberar recurso: Muda o estado para N, e manda REP pra tds que tiverem com T. Apos isso muda o D para F(false)
quinta-feira, 20 de março de 2008
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário