- - - - CENAPAD-MGCO

contents index A seguir: Algoritmo de Ricart e Acima: Exclusão Mútua Distribuída Anterior: Algoritmo de Lamport: Complexidade


Ricart e Agrawala (1981)

Evolução do algoritmo de Lamport, em que releases só são enviados quando o nó requisitante tem prioridade

Fonte: ``An optimal algorithm for mutual exclusion in computer networks''[Ricart and Agrawala, 1981].

CONST i = /* this node unique number */
VAR OSN, /* Our Sequence Number */
    HSN, /* Highest Sequence Number */
    ORC  /* Outstanding Reply Count */   : CARDINAL;

Hungry: BOOLEAN;
Deferred: ARRAY[1..n] OF BOOLEAN;

PROCEDURE Request();
BEGIN
  lock(mutex);
    Hungry := TRUE; OSN := HSN + 1;
    send(request(OSN, me), j) to every j <> i;
    ORC := n-1;
    WHILE ORC > 0 DO Sleep(B, mutex);
  unlock(mutex);
END Request;



 

Osvaldo Carvalho - Postscript - Comentários?