UFMG - Pós-graduação em Ciência da Computação - Programação Paralela

A seguir: Algoritmo de Carvalho e Acima: O Algoritmo de Maekawa Anterior: Algoritmo de Maekawa -


Algoritmo de Maekawa - Árbitro j

1.
Recepção de request(Ti, i): se Owner = NIL, o árbitro faz Owner := i, OwnerTi := Ti, e envia locked(Tj,j) para o cliente i; senão, o árbitro coloca o pedido numa fila. Caso (Ti, i) seja mais prioritário que (OwnerTi, Owner), o árbitro envia inquire(Tj,j) para o cliente Owner;

2.
Recepção de release(Ti,i): se a fila estiver vazia, o árbitro faz Owner := NIL; senão, o árbitro envia locked(Tj, j) para o cliente k mais prioritário, faz Owner := k e OwnerTi := Tk, e retira k retira da fila;

3.
Recepção de relinquish(Ti,i): a reação é idêntica a da recepção de release, mas (Ti, i) é colocado na fila;



Osvaldo Carvalho