El algoritmo de Maekawa es un algoritmo de exclusión mutua en un sistema distribuido . La base de este algoritmo es un enfoque similar al de un quórum , donde cada sitio solo necesita solicitar permisos a un subconjunto de otros sitios.
Algoritmo
Terminología
- Un sitio es cualquier dispositivo informático que ejecuta el algoritmo de Maekawa.
- Para cualquier solicitud de acceso a la sección crítica :
- El sitio solicitante es el sitio que solicita acceder a la sección crítica.
- El sitio receptor es cualquier otro sitio que reciba la solicitud del sitio solicitante.
- ts se refiere a la marca de tiempo local del sistema según su reloj lógico.
Algoritmo
Sitio solicitante :
- Un sitio solicitanteenvía un mensajea todos los sitios en su conjunto de quórum.
Sitio receptor :
- Al recibir unmensaje, el sitio receptorvoluntad:
- Si el sitiono tiene un sobresalientemensaje (es decir, unmensaje que no ha sido publicado), entonces el sitioenvía unmensaje al sitio.
- Si el sitiotiene una excepcionalmensaje con un proceso con mayor prioridad que la solicitud, luego sitioenvía unmensaje al sitioy sitiopone en cola la solicitud del sitio.
- Si el sitiotiene una excepcionalmensaje con un proceso de menor prioridad que la solicitud, luego el sitioenvía unmensaje al proceso al que actualmente se le ha concedido acceso a la sección crítica por parte del sitio. (Es decir, el sitio con la destacadamensaje.)
- Al recibir unmensaje, el sitiovoluntad:
- Enviar unmensaje al sitiosi y solo si el sitioha recibido unmensaje de algún otro sitio o siha enviado un rendimiento a otro sitio pero no ha recibido uno nuevo.
- Al recibir unmensaje, sitiovoluntad:
- Enviar unMensaje dirigido a la solicitud que se encuentra en la parte superior de su propia cola de solicitudes. Tenga en cuenta que las solicitudes que se encuentran en la parte superior tienen la máxima prioridad.
- Lugaren su cola de solicitudes.
- Al recibir unmensaje, sitiovoluntad:
- Borrarde su cola de solicitudes.
- Enviar unmensaje a la solicitud que se encuentra en la parte superior de su cola de solicitudes.
Sección crítica :
- Sitioentra en la sección crítica al recibir unamensaje de todos los sitios en.
- Al salir de la sección crítica,envía unmensaje a todos los sitios en.
Conjunto de quórum () : Un conjunto de quórum debe cumplir las siguientes propiedades:
- Sitioestá contenido exactamenteconjuntos de solicitudes
- Por lo tanto:
Actuación
Véase también
Referencias
- M. Maekawa, "Un algoritmo √N para la exclusión mutua en sistemas descentralizados", ACM
Transacciones en Sistemas Informáticos, vol. 3, núm. 2, págs. 145–159, 1985.
- Mamoru Maekawa, Arthur E. Oldehoeft, Rodney R. Oldehoeft (1987). Sistemas operativos: conceptos avanzados. Benjamin/Cummings Publishing Company, Inc.
- B. Sanders (1987). La estructura de información de los algoritmos de exclusión mutua distribuidos. ACM Transactions on Computer Systems, vol. 3, n.º 2, págs. 145-159.
Categoría :
- Algoritmos de control de concurrencia