Please enable JavaScript.
Coggle requires JavaScript to display documents.
Conceptos de la exclusión mutua en los Sistemas Distribuidos - Coggle…
Conceptos de la exclusión mutua en los Sistemas Distribuidos
Algoritmo centralizado
Similar a un sistema cliente/servidor donde el servidor otorga permisos
Los demás procesos (que actúan como clientes) envían peticiones para acceder a un recurso
¿Cómo funciona el Algoritmo Centralizado?
El proceso 2 solicita permiso al mismo recurso. No se le responde pero lo pone en una cola de espera
El proceso 1 notifica al coordinador que ha liberado el recurso. El coordinador otorga acceso al primer elemento de su cola de espera
El proceso 1 solicita permiso al coordinador para acceder a un recurso compartido. Se le otorga el acceso
Ventajas del Algoritmo Centralizado
Acceso justo (las peticiones se atienden en orden de llegada)
Ningún proceso espera por siempre (no hay inanición)
Garantiza la exclusión mutua
Fácil de implementar (solo requiere 3 mensajes: petición, autorización, liberación)
Algoritmo descentralizado
Utiliza réplicas de los recursos
¿Cómo funciona el Algoritmo Descentralizado?
Se utiliza un sistema basado en HDT (DistributedHash Table) en el que el recurso se replica n veces
Cada nodo por lo tanto, puede buscar a cada nodo responsable de una réplica y controlar el acceso a esa réplica
Basado en el algoritmo centralizado
Algoritmo distribuido
El acceso a los recursos se consigue consiguiendo entrar a una “sección critica”
Los nodos consiguen la sección crítica sólo si los demás nodos le conceden acceso, y cuando se libera el recurso, se les notifica a todos
Está basado en los trabajo de Lamport sobre la sincronización
Ventajas del Algoritmo Distribuido
Garantiza la exclusión mutua
No produce deadlocks(estado de espera continua entre varios procesos sin fin)
No ocasionan cuellos de botella (como en el caso de los algoritmos centralizados) pero es más lento
Aspectos generales
¿Qué es la Exclusión Mutua?
Es una propiedad de un sistema distribuido que permite un control concurrente a sus recursos
¿Cómo funciona el Algoritmo Distribuido?
El proceso 1 no está interesado y les responde con un OK a todos. Los procesos 0 y 2 comparan sus tiempos y el proceso 2 concede el permiso y el proceso 0 gana acceso y guarda en cola la petición del proceso 2
Cuando el proceso 0 libera el recurso, notifica al proceso 2 que puede usar el recurso
El proceso 0 y 2 envían a todos en simultaneo una petición de acceso con un timestampde 8 y 12 respectivamente
Algoritmo token-ring
Es un método completamente distinto, Se basa en el uso de un anillo lógico vía software
¿Cómo funciona el Algoritmo Token-ring?
Cuando se inicia el anillo, se le asigna un token al proceso 0
El token circula por el anillo pasando por todos los procesos
Cuando el proceso recibe el token, revisa si requiere acceder al recurso. Si lo requiere, se queda con el token hasta que termine de usar el recurso y libera el token
Ventajas del Algoritmo Token-ring?
No se produce inanición
Sencillo de implementar y se recupera bien de las fallas
Garantiza la exclusión mutua
Rápido y eficiente cuando pocos nodos requieren acceso.
¿Cómo se clasifican los Algoritmos de Exclusión Mutua?
Soluciones basadas en permisos
Los procesos solicitan permisos entre sí
Soluciones basadas en token
Usa mensajes especiales llamados token ,Solo hay 1 token disponible.
El que lo tiene, accede al recurso