Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmo 3 ..4
Algoritmo 4 ..5
Algoritmo 5 ..6
Algoritmo de Peterson.7
Conclusiones y bibliografa...8.
Primer algoritmo
ROGRAMA UNO;
Variables
turno: Entero;
Inicializacin Repeat
turno = 1; Hace_Cosas();
While turno = 1 Do;
Repeat REGION_CRITICA();
Hace_Cosas(); turno = 1;
While turno =2 Do; Hace_mas_cosas();
REGION_CRITICA(); Until Fin
turno = 2;
Hace_mas_cosas();
Until Fin
Segundo algoritmo
El proceso que es ejecutado despus de realizar sus tareas iniciales, a este proceso
se le permite entrar, Cuando ya puede entrar verifica si otro proceso tiene la opcin de
poder entrar, si otro proceso tambin tiene la opcin de poder entrar se da un
interbloqueo. De lo contrario el proceso avanza a la seccin crtica Al salir de la
seccin critica el proceso cambia su opcin. Y permite al otro proceso avanzar a la
seccin crtica.
PROGRAMA DOS;
Variables
P1QE, P2QE: Bool;
Inicializacin Repeat
P1QE = false; Hace_Cosas();
P2QE = false; P2QE = true;
Repeat While P1QE Do;
Hace_Cosas(); REGION_CRITICA();
P1QE = true; P2QE = False;
While P2QE Do; Hace_mas_cosas();
REGION_CRITICA(); Until Fin
P1QE = False;
Hace_mas_cosas();
Until Fin
Tercer algoritmo
PROGRAMA TRES;
Variables
P1A, P2A: Bool;
Inicializacin Repeat
P1A = false; Hace_Cosas();
P2A = false; While P1A Do;
Repeat P2A = true;
Hace_Cosas(); REGION_CRITICA ();
While P2A Do; P2A = False;
P1A = true; Hace_mas_cosas();
REGION_CRITICA(); Until Fin
P1A = False;
Hace_mas_cosas();
Until Fin
Cuarto algoritmo
Luego de realizar sus tareas iniciales el procesos solicita poder entrar en la
seccin critica, si el otro proceso no puede entrar ya que su estado es falso
entonces el proceso entra si problema a la seccin critica.
PROGRAMA CUATRO;
Variables
P1QE, P2QE: Bool;
Inicializacin Repeat
P1QE = false; Hace_Cosas ();
P2QE = false; P1QE = true;
Repeat While P2QE Do
Hace_Cosas(); Begin
P1QE = true; P2QE = false;
While P2QE Do Delay (random());
Begin P2QE = true;
P1QE = false; end;
Delay (random()); REGION_CRITICA();
P1QE = true; P2QE = False;
end; Hace_mas_cosas();
REGION_CRITICA(); Until Fin
P1QE = False;
Hace_mas_cosas();
Until Fin
Quinto Algoritmo
Se realiza las tareas iniciales, luego se verifica si hay otro procesos que puede
entrar, si lo hay se entra al ciclo y si es el turno de algn otro proceso cambia su
estado a ya no poder entrar a la seccin critica y nuevamente verifica si es el turno
de algn otro proceso si lo es se queda enciclado hasta que se da un cambio de
turno, luego nuevamente retoma su estado de poder entrar a la seccin critica,
regresa al ciclo y verifica si hay otro proceso que puede entrar entonces
nuevamente se encicla, de lo contrario entra a la seccin critica.
PROGRAMA CINCO;
Variables
P1QE, P2QE: Bool;
turno: Entero;
Inicializacin Repeat
P1QE = false; Hace_Cosas();
P2QE = false; P2QE = true;
turno = 1; While P1QE Do
Repeat Begin
Hace_Cosas(); if(turno = 1)
P1QE = true; Begin
While P2QE Do P2QE = false;
Begin Delay (random());
if(turno = 2) P2QE = true;
Begin end;
P1QE = false; end;
Delay (random()); REGION_CRITICA();
P1QE = true; turno = 1;
end; P2QE = False;
end; Hace_mas_cosas();
REGION_CRITICA(); Until Fin
turno = 2;
P1QE = False;
Hace_mas_cosas();
Until Fin
El algoritmo de Peterson
El algoritmo de Peterson, tambin conocido como solucin de Peterson,1 es un
algoritmo de programacin concurrente para exclusin mutua, que permite a dos o
ms procesos o hilos de ejecucin compartir un recurso sin conflictos, utilizando
slo memoria compartida para la comunicacin.
bandera[0] = false
bandera[1] = false
turno // No es necesario asignar
un turno
p0: bandera[0] = true
p1: bandera[1] = true
turno = 1
turno = 0
while( bandera[1] && turno ==
1 ); while( bandera[0] && turno
== 0 );
{ //no hace nada; espera. }
{ //no hace nada; espera. }
// seccin crtica //
seccin crtica
// fin de la seccin
crtica // fin de la seccin
crtica
bandera[0] = false
bandera[1] = false
Conclusin.
Con la exclusin mutua los procesos tienen asegurado, en mayor medida, que
podrn entrar en algn momento a su seccin critica, debido a inhabilitacin de
interrupciones En un multincleo al deshabilitar las interrupciones de una CPU no
se evita que las dems CPUs interfieran con las operaciones que la primera CPU
est realizando.
Bibliografa.
BIBLIOGRAFA