- - - - CENAPAD-MGCO

contents index A seguir: Carvalho e Roucairol (1983) Acima: Exclusão Mútua Distribuída Anterior: Ricart e Agrawala: Complexidade


Carvalho e Roucairol (1983) - 1

GENIAL [Carvalho and Roucairol, 1983] evolução do algoritmo de Ricart e Agrawala, que tira proveito da validade de uma autorização para ``comer'' mais de uma vez sem enviar novas requisições.

CONST i = /* this node unique number */
VAR OSN, /* Our Sequence Number */
    HSN  /* Highest Sequence Number */: CARDINAL;
    A, Deferred: ARRAY [1..n] OF BOOLEAN;
    Eating, Hungry: BOOLEAN;

PROCEDURE Request();
VAR j: CARDINAL;
BEGIN
  lock(mutex);
    Hungry := TRUE; OSN := HSN + 1;
    FOR j := 1 TO n DO
      IF (j <> i) AND (NOT A[j]) THEN
        send(request(OSN, i),j);
    WHILE NOT (A[j] = TRUE for all j <> i) DO Sleep(B,mutex);
    Hungry := FALSE; Eating := TRUE;
  unlock(mutex);
END Request;



 

Osvaldo Carvalho - Postscript - Comentários?