next up previous contents
Next: Algoritmo de Peterson Up: Algoritmo de Dekker Previous: Cuarto intento   Índice General

Quinto intento

1968

Al final obtenemos con el quinto intento el algoritmo de Dekker:


Initially:  v0 is equal false
            v1 is equal false
            v  is equal P0 o P1

P0                               P1
  non-critical section             non-critical section
  set v0 to true                   set v1 to true
  repeat                           repeat
    if v equals P1                   if v equals P0
      set v0 to false                  set v1 to false
      wait until v equals P0           wait until v equals P1
      set v0 to true                   set v1 to true
    fi                               fi
  until v1 equals false            until v0 equals false
  critical section using r         critical section using r
  set v0 to false                  set v1 to false
  set v to P1                      set v to P0

El algoritmo de Dekker resuelve el problema de exclusión mutua en el caso de dos procesos (con memoria común).

Existen algoritmos que resuelven el problema para n procesos, p.e., el algoritmo de Lambert (algoritmo de la panadería), o el algoritmo de Peterson.



© 2001, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática