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

Quinto intento

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
a:  loop                             loop
b:    set v0 to true                   set v1 to true
c:    loop                             loop
d:      if v1 equals false exit          if v0 equals false exit
e:      if v equals P1                   if v equals P0
f:        set v0 to false                  set v1 to false
g:        wait until v equals P0           wait until v equals P1
h:        set v0 to true                   set v1 to true
i:      fi                               fi
j:    endloop                          endloop
k:    critical section                 critical section
l:    set v0 to false                  set v1 to false
m:    set v to P1                      set v to P0
n:    non-critical section             non-critical section
o:  endloop                          endloop

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



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