Está en la página 1de 8

Facultad de Ingeniería en sistemas

Sistemas Operativos I “A”


Catedrático: Ing. Allan Alberto Morataya Gómez

“Algoritmo de Dekker”

NOMBRE CARNÉ
Bryan Ernesto Gámez Cipriano 9490-19-3938
Diego David Camó Kwon 9490-18-11498
Julio César Eduardo Flores Tubac 9490-20-3677
Abner Obed Orozco Aguilar 9490-20-9004

Guatemala, sábado 3 de septiembre de 2022


En qué Consiste
El algoritmo de Dekker es un algoritmo de programación concurrente para exclusión mutua,
que permite a dos procesos o hilos de ejecución compartir un recurso sin conflictos. Fue uno
de los primeros algoritmos de exclusión mutua inventados, implementado por Edsger Dijkstra.
Si ambos procesos intentan acceder a la sección crítica simultáneamente, el algoritmo elige un
proceso según una variable turno. Si el otro proceso está ejecutando en su sección crítica,
deberá esperar su finalización.

Para que se utiliza


El algoritmo de Dekker es un algoritmo de programación concurrente para exclusión mutua,
por lo que se utiliza para que dos procesos o hilos que se encuentran en ejecución puedan
compartir los mismos recursos. Para que ambos procesos o hilos puedan compartir recursos, el
algoritmo elige un proceso según una variable de turno, si uno de los procesos se encuentra
ejecutando en su sección crítica, el otro deberá esperar su finalización para poder ser
ejecutado.

Mediante el algoritmo de Dekker se obtiene:


• Exclusión mutua con respecto al recurso
• Se concede a cada proceso el acceso en un tiempo finito
• Se libera el recurso en un tiempo finito
• Existe espera activa.

Ejemplo en un lenguaje de programación


Existen cinco versiones del algoritmo de Dekker, teniendo ciertos fallos los primeros cuatro. La
versión 5 es la que trabaja de manera más eficiente, ya que es una combinación de la 1 y la 4.

1. Versión 1: Alternancia Estricta. Garantiza la exclusión mutua, pero su desventaja es


que acopla los procesos fuertemente, esto significa que los procesos lentos atrasan.
2. Versión 2: Problema Interbloqueo. No existe la alternancia, aunque ambos procesos
caen a un mismo estado y nunca salen de ahí.

3. Versión 3: Este algoritmo no evita que dos procesos puedan acceder al mismo tiempo
a la región crítica.
4. Versión 4: Postergación indefinida. Aunque los procesos no están en interbloqueo, un
proceso o varios se quedan esperando a que suceda un evento que tal vez nunca
suceda.

5. Versión 5: Combinación versión 1 y versión 4.


Algoritmo de Dekker.
Como aplicar su uso para el manejo de interbloqueos
Los interbloqueos se dan cuando dos o más procesos utilizan recursos similares, esto hace que
se genere un interbloqueo ya que ningún proceso podrá finalizar puesto que otro proceso está
utilizando algún recurso que el primer proceso necesita para finalizar, con el algoritmo de
dekker esto puede agilizar los procesos ya que la función del algoritmo de dekker es ciclar los
procesos en un estado antes de seguir al siguiente estado si este está siendo ocupado por
algún otro proceso, esto permitiría que todos los procesos finalicen correctamente ya que se
aseguraría que cada proceso use los recursos que necesita.
Solución

Como aplicar su uso en bases de datos, sistemas operativos,


ambientes virtuales.
Pensando en que es un algoritmo que lo que trata de evitar es la saturación de un espacio en
memoria, pero más que eso es de darle prioridad a los procesos que se tengan como
prioritarios o críticos,
SISTEMAS OPERATIVOS

En el sistema operativos lo podemos intuir que se puede aplicar al ejecutar dos procesos a la
vez, obviamente ahora los procesadores tienen muchos más que dos procesos por hilo, pero
podrimos hipotetizar usa específicamente unos hilos del procesador para que nos dé prioridad
entre si copiar un archivo o borrar un archivo y va a depender de que es lo que le
programemos hacer antes al mediante el algoritmo.

BASE DE DATOS

Se puede aplicar el algoritmo para hacer una consulta a X base de datos a X tabla y pedir que
me ordene por longitud del carácter y tamaño del archivo, allí estaríamos haciendo un proceso
con una petición mutua el cual el procesador tendría que ir poniendo prioridades en dos
columnas al mismo tiempo.

AMBIENTES VIRTUALES

en un servidor físico se puede instalar varias instancias virtuales de servidores dedicados al


tránsito de información el enfoque de prioridad seria la cantidad de transacciones a procesar
en cada uno de los servidores, mientras más transacciones reciba un servidor se requerirá más
memoria RAM y procesadores, el cual mediante este algoritmo puede ser estipulado mediante
este algoritmo.

También podría gustarte