Diferencia entre revisiones de «Algoritmo de Peterson»
Apariencia
Contenido eliminado Contenido añadido
mSin resumen de edición |
|||
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
cual es la seccion critica?