quinta-feira, 20 de março de 2008

Aula do Duó - 20/03/2008

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)

Nenhum comentário: