Diferencia entre revisiones de «Algoritmo de Peterson»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 189.236.99.157 a la última edición de Emijrp
Línea 17: Línea 17:
bandera[0] = 0 bandera[1] = 0
bandera[0] = 0 bandera[1] = 0
</source>
</source>
cual es la seccion critica?


== Véase también ==
== Véase también ==

Revisión del 01:25 3 sep 2009

El algoritmo de Peterson es un algoritmo de programación concurrente para exclusión mutua, que permite a dos o más procesos o hilos de ejecución compartir un recurso sin conflictos, utilizando sólo memoria compartida para la comunicación.

Peterson desarrolló el primer algoritmo (1981) para dos procesos que fue una simplificación del algoritmo de Dekker para dos procesos. Posteriormente este algoritmo fue generalizado para N procesos.

Algoritmo para dos procesos

  bandera[0] = 0
  bandera[1] = 0
  turno      = 0 
  p0: bandera[0] = 1                            p1: bandera[1] = 1
      turno = 1                                 turno = 0
      while( bandera[1] && turno == 1 );        while( bandera[0] && turno == 0 );
                //no hace nada. espera.                               //no hace nada. espera. 
      // sección crítica                        // sección crítica
                                           
      // fin de la sección crítica              // fin de la sección crítica
      bandera[0] = 0                            bandera[1] = 0

Véase también