Está en la página 1de 6

Universidad Centroamericana

Facultad de Ciencia, Tecnologa y Ambiente


Ingeniera en Sistemas y Tecnologas de la Informacin
Concentracin de Redes y Comunicaciones




Grupo #1:
Algoritmo de Dekker

Presentado por:
Delgado Calero Kathya del Carmen
Hernndez Hernndez Ingrid Gabriela


Docente:
Cesar Marn


Managua, Nicaragua
Lunes 06 de Octubre de 2014

Arquitectura de Sistemas Concurrentes

A l g o r i t m o D e k k e r 2 | 6


Objetivo General

Analizar la forma en que el algoritmo de Dekker implementa la exclusin mutua
sin ocasionar conflictos.


Objetivos Especficos

Analizar cul de las versiones del algoritmo es la ms conveniente a utilizar
Comprender la lgica del algoritmo.



Arquitectura de Sistemas Concurrentes

A l g o r i t m o D e k k e r 3 | 6

Introduccin

La exclusin mutua la podramos definir como una operacin de procesos
concurrentes (comunicacin requerida entre dos o ms procesos), esta tiene la
capacidad de prohibir a los dems procesos realizar una accin cuando un
proceso haya obtenido el permiso.

El presente trabajo se aborda el tema de Soluciones de exclusin mutua
(Algoritmo de Dekker), dicho trabajo fue elaborado con el fin de poder estudiar el
funcionamiento bsico de este algoritmo para poder desarrollar habilidades tanto
tericas como prctica, ya que se experiment el funcionamiento realizando un
programa funcional en el software de NetBeans IDE 8.0Beta.

El algoritmo de Dekker es un algoritmo de programacin concurrente para
exclusin mutua, que permite a dos procesos o hilos de ejecucin compartir un
recurso sin conflictos.

Adems que existen cinco versiones del algoritmo de Dekker, teniendo ciertos
fallos los primeros cuatro. La versin 5 es la que trabaja ms eficientemente,
siendo una combinacin de la 1 y la 4.

Posteriormente se profundizar ms acerca de estas cinco versiones existentes
del algoritmo de Dekker, haciendo nfasis en la versin 5.






Arquitectura de Sistemas Concurrentes

A l g o r i t m o D e k k e r 4 | 6

Desarrollo

El algoritmo de Dekker es un algoritmo de programacin concurrente para
exclusin mutua, que permite a dos procesos o hilos de ejecucin compartir un
recurso sin conflictos. Fue uno de los primeros algoritmos de exclusin mutua
inventados, implementado por Edsger Dijktra.

Existen cinco versiones del algoritmo Dekker, teniendo ciertos fallos los
primeros cuatro. La versin 5 es la que trabaja ms eficientemente, siendo una
combinacin de la 1 y la 4.

Primer algoritmo: Garantiza la exclusin mutua, pero su desventaja es que
acopla los procesos fuertemente, esto significa que los procesos lentos atrasan
a los procesos rpidos.

Segundo algoritmo: Este algoritmo presenta problemas interbloqueo. No
existe la alternancia, aunque ambos procesos caen a un mismo estado y nunca
salen de ah.

Tercer algoritmo: Este algoritmo no evita que dos procesos puedan acceder al
mismo tiempo a la regin crtica. De manera que ocasiona una colisin en la
regin crtica y no garantiza la exclusin mutua.

Cuarto algoritmo: Presenta Postergacin indefinida. Aunque los procesos no
estn en interbloqueo, un proceso o varios se quedan esperando a que suceda
un evento que tal vez nunca suceda.

Quinto algoritmo: El quinto algoritmo de Dekker es la versin optimizada y
que no presenta problemas como las cuatro versiones anteriores, para su
estructuracin se hace una combinacin de dos algoritmos de acuerdo al orden
de prioridad de desempeo y funcionamiento de las cuatro versiones
conocidas. Por tanto la versin 5 es la que trabaja ms eficientemente, siendo
una combinacin de la 1 y la 4. (Blog Sistemas Operativos, 2012)

Arquitectura de Sistemas Concurrentes

A l g o r i t m o D e k k e r 5 | 6

Caractersticas

Garantiza la exclusin mutua.
Progreso
Espera limitada

Lgica de funcionamiento (textual/grafica)

Con este algoritmo se elimina la alternancia, ya que Por ejemplo tenemos N
procesos que comparten un recurso, pero si ambos procesos intentan acceder a la
seccin crtica simultneamente, el algoritmo elige un proceso segn una variable
de turno. Es decir que cuando un proceso se ejecuta, este verifica si hay otro
proceso dentro de la regin critica, si no lo hay este podr entrar
independientemente de si le corresponde o no su turno, de lo contrario si el
proceso detecta que ya existe otro dentro de la regin critica, entonces este
esperar a que llegue su turno para poder acceder a su seccin.
Programa funcional (casos excepcionales: Seudocdigo).









Aqu nos indica que el proceso correspondiente (i)
desea hacer uso de la regin crtica.
Una vez sealada esta situacin, estudia si est
dentro el otro proceso. Si lo est, espera hasta que
salga y si no comprueba si el turno le corresponde al
otro.
Si no fuera as, entrara el proceso (i) en su seccin
critica.
Si el turno le correspondiera al proceso (j), anula la
indicacin de que desea entrar en la seccin crtica y
queda esperando hasta que le corresponda el turno,
de manera que cuando le llegue declarar que entra
en la seccin crtica por medio de la variable activo.
Arquitectura de Sistemas Concurrentes

A l g o r i t m o D e k k e r 6 | 6


Conclusin

En conclusin el algoritmo de Dekker es un algoritmo de programacin
concurrente para exclusin mutua. Ya que permite dos o ms procesos de
ejecucin y puede compartir recursos de ejecucin sin conflictos.



Bibliografa

Blog Sistemas Operativos. (26 de Ocutubre de 2012). Obtenido de
http://bourneshell.wordpress.com/2012/10/26/algoritmos-de-dekker/