Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Algoritmos de exclusión mutua: Centralizado, Anillo y Ricart

19 junio, 2015
sistemasdistribuidos

Algoritmos de exclusión mutua: Centralizado

Centralizado, el algoritmo de exclusión mutua con un servidor centralizado actúa de la siguiente manera, el servidor central es el que permite el acceso a los recursos compartidos.

De modo que cuando un host quiere utilizar un recurso compartido, el host “pide permiso “al servidor central que es el encargado de darle acceso otorgándole un testigo, cuando el host deja el recurso compartido, devuelve el testigo al servidor central.

Si durante este proceso otro host le pide el testigo al servidor central, el servidor lo pondrá en cola de espera, para que cuando finalice la operación el host que ahora mismo está utilizando el recurso y devuelva el testigo, éste será entregado al host que esté primero en la cola de espera.

El servidor central entregará y recibirá varios mensajes para el host que esté en la zona compartida (pedir permiso, entregar testigo, devolver testigo) y el también el resto de las peticiones de los demás host, por lo que puede suponer un cuello de botella dependiendo de los tiempos en los que esté el host en la zona compartida y del resto de peticiones.

sistemasdistribuidos

Algoritmos de exclusión mutua:  Anillo 

 

Por otro lado el algoritmo de anillo, trata de realizar un circulo lógico entre los distintos host, así pues un host recibirá el testigo que permita entrar en los recursos compartidos y entregará el testigo al siguiente host , que siempre será el mismo, entre todos formarán un circulo.
Este sistema es bastante sencillo de realizar y no dispone de un servidor en el que puedan existir cuellos de botella. No obstante, este sistema siempre entregará el testigo al siguiente host independientemente de si el host tiene que utiliza o no los recursos compartidos.

Por lo tanto, utilizar este sistema consumirá bastante más ancho de banda y el tiempo de entrada en el recurso compartido se incrementará dependiendo del número de host que formen el anillo.

Algoritmos de exclusión mutua: Ricart

Este sistema está basado en la multidifusión, así pues un host podrá entrar en la “zona crítica” lanzando un mensaje multidifusión a todos los host, si recibe respuesta de todos los host entonces podrá utilizar el recurso, si hay un host que esté ocupando el recurso enviará el mensaje cuando libere el recurso.
Así pues este algoritmo consume mucho ancho de banda por que necesita enviar mensajes multidifusión y respuesta de cada uno de los host, sin embargo el tiempo para poder llegar a utilizar un recurso compartido es bastante menor que en el resto de algoritmos.