Peterson

Páginas: 4 (768 palabras) Publicado: 29 de mayo de 2012
ALGORITMO DE PETERSON
Una solución posible es la proporcionada por Peterson (1981). En esta solución se introduce una variable adicional, que denominaremos turno, que solamente resultará útil cuandose produzca un problema de petición simultánea de acceso a la región crítica.

(* Exclusión Mutua:Solución de Peterson*)
moduleExclusion_Mutua_P;
var flag1,flag2: boolean;
turno: integer;procedure bloqueo(var mi_flag, su_flag: boolean; su_turno:integer);
begin
mi_flag := true;
turno := su_turno;
while su_flag and (turno = su_turno) do ; end
end bloqueo;
proceduredesbloqueo(var mi_flag: boolean);
begin mi_flag := false;
end desbloqueo;

process P1
begin
loop
bloqueo(flag1,flag2,2);
(* Uso del recurso Sección Crítica *)desbloqueo(flag1);
(* resto del proceso *)
end

end P1;

process P2
begin
loop
bloqueo(flag2,flag1,1);
(* Uso del recurso SecciónCrítica *)
desbloqueo(flag2);
(* resto del proceso *)
end
end P2;
begin (* Exclusion_Mutua_P*)
flag1 := FALSE;
flag2 := FALSE;
cobegin
P1;P2;
coend
end Exclusion_Mutua_P.

Si sólo uno de los procesos intenta acceder a la sección crítica lo podrá hacer sin ningún problema. Sin embargo, si ambos intentan entrar a lavez el valor de turno se pondrá a 1 y 2 pero sólo un valor de ellos permanecerá al escribirse sobre el otro, permitiendo el acceso de un proceso a su región crítica.
El algoritmo permite resolver elproblema de la exclusión mutua y garantiza que ambos procesos usarán de forma consecutiva el recurso en el caso de que lo soliciten a la vez y se impedirá el cierre del otro proceso. Si, por ejemplo,P1 ha entrado en su sección crítica bloqueando el acceso de P2 éste entrará una vez haya finalizado aquél, ya que cuando P1 sale de su región crítica desactiva su indicador, permitiendo el acceso...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • solucion de Peterson
  • Will peterson
  • Peterson
  • Algoritmo de dekker / peterson
  • Modelo Epstein-Peterson
  • Caso Erik Peterson
  • Peterson en java
  • Sr Peterson

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS