You are on page 1of 33

Algoritmo Estable para la Exclusin

Mutua en un Sistema Distribuido (Edsger


W. Dijkstra 1974)
Ofrece proteccin contra fallas transitorias
(conducta temporal errnea de algunos
componentes del sistema).
Cuando las condiciones retornan a la normalidad
el proceso reasume su ejecucin, pero debido a
la falla temporal, el estado global podra ser
arbitrario.
La estabilidad garantiza la convergencia al
comportamiento requerido y a un estado global
vlido.

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido :
Hoptesis
Comunicacin Sncrona.
Topologa lgica de anillo.
En la solucin se consideran N procesos, numerados del 0 a N-1.
Variables y constantes utilizadas :
i = Identificador del proceso actual.
S = Se refiere al estado del proceso i.
L = Se refiere al estado del proceso anterior.
K = Constante mayor o igual que N .

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
En cada mquina el algoritmo se ejecuta en concurrencia con la aplicacin y
dicho algoritmo en ejecucin consta de tres hilos de ejecucin a los que
llamaremos sub procesos:
Sub Proceso 3
Entero S,L,i;
S = 0;
Sub Proceso 1
Enviar(S)a (i+1 mod k);

Cuando (Necesita_entrar_SC) Hacer


Si (i=0) entonces
Cuando (L=S) Hacer
Ir_a_seccin_crtica();

Sub Proceso 2
S=(L+1)mod K;

Si (i=0)entonces

FCuando

Recibir(L)de N
Sino
FSi

Recibir (L)de (i-1)

Sino
Cuando (L <> S ) Hacer
Ir_a_seccin_crtica(;
S=L;

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Ocurre una
falla

Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Ocurre una
falla

Solucin para N = 5 y K =
6
0

Tres procesos
obtienen
permiso para
usar el recurso

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0
4
Ocurre una
falla
4

Dos procesos
obtienen
permiso para
usar el recurso

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0
4
Ocurre una
falla
4

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0
4
Ocurre una
falla
4

El algoritmo se
estabiliza

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

Algoritmo Estable para la Exclusin


Mutua en un Sistema Distribuido
Solucin para N = 5 y K =
6
0

You might also like