Sei sulla pagina 1di 3

Algoritmos de exclusin mutua.

Cuando un proceso debe leer o actualizar ciertas estructuras de datos compartidas, primero ingresa a una regin crtica para lograr la exclusin mutua y garantizar que ningn otro proceso utilice las estructuras de datos al mismo tiempo. En sistemas monoprocesadores las regiones crticas se protegen con semforos y monitores, pero en sistemas distribuidos ya no es posible debido a la complejidad de la comunicacin entre sistemas. Veamos 3 modelos que se pueden usar para este fin.

Algoritmo Centralizado.
La forma ms directa de lograr la exclusin mutua en un sistema distribuido es simular a la forma en que se lleva a cabo en un sistema monoprocesador. Se elige un proceso coordinador que como recomendacin deber estar en la direccin de red ms alta. Cuando un proceso desea ingresar a una regin crtica, enva un mensaje de solicitud al proceso coordinador, en el mensaje incluye la id de la regin crtica a la que desea acceder y la solicitud del permiso de acceso. Si ningn otro proceso est ocupando en ese momento esa regin crtica, el coordinador enva una respuesta (OK) otorgando el permiso, cuando llega la respuesta el proceso solicitante puede entrar a la regin crtica. Si un proceso pide permiso para entrar a una regin crtica ya asignada a otro proceso, el coordinador no otorga el permiso y encola la solicitud. Cuando el proceso sale de la regin crtica, enva un mensaje al coordinador para liberar su acceso exclusivo, el coordinador extrae el proceso que almaceno de la cola de solicitudes y enva a ese proceso un mensaje dndole el permiso, hasta entonces el proceso almacenado queda habilitado para acceder a la regin crtica solicitada. La ventaja es que es un sistema sencillo de programar, justo y con pocos mensajes de control. La desventaja es que el coordinador puede ser un cuello de botella e incluso puede fallar bloqueando a los procesos que esperan una respuesta de habilitacin de acceso.

Un Algoritmo Distribuido.
El objetivo es eliminar el nico punto de fallo que puede tener el coordinador central, tambin se necesita un orden total de todos los eventos en el sistema para saber cul ocurri primero. Cuando un proceso desea entrar a una regin crtica, construye un mensaje con el id de la regin crtica, su nmero de proceso y la hora actual.

Enva el mensaje a todos los dems procesos y de manera conceptual a l mismo, se supone que cada mensaje tiene un reconocimiento. Si el receptor no est en la regin crtica y no desea entrar a ella, enva de regreso un mensaje (OK) al emisor. Si el receptor ya est en la regin crtica no responde y encola la solicitud. Si el receptor desea entrar a la regin crtica pero an no lo logr, compara La marca de tiempo del mensaje recibido con la marca contenida en el mensaje que envi a cada uno, la menor de las marcas gana. Si el mensaje recibido es menor el receptor enva un (OK), de lo contrario el receptor no enva nada y encola el pedido. Luego de enviar las solicitudes un proceso espera hasta que alguien ms obtiene el permiso, cuando le llegan todos los permisos puede entrar a la regin crtica. Cuando un proceso sale de la regin crtica, enva mensajes (OK) a todos los procesos en su cola y elimina a todos los elementos de la cola. Las ventajas son: la exclusin mutua queda garantizada sin bloqueo ni inanicin, no existe un nico punto de fallo sino n. La desventaja es que todos los procesos participan en todas las decisiones referentes a las entradas en las regiones crticas y se puede sobrecargar el sistema. El nmero de mensajes necesarios por entrada es 2(n-1), siendo 'n' el nmero total de procesos en el sistema, Se incrementa la probabilidad de fallo en n veces y tambin el trfico en la red.

Algoritmo de Anillo de Fichas.


Los procesos se organizan por software formando un anillo asignndose a cada proceso una posicin en el anillo, cada proceso sabe cul es el siguiente luego de l, como una recomendacin cada proceso debera conocer cuales son los 2 siguientes o ms por si en algun momento se rompe el anillo. Al inicializar el anillo se le da al proceso 0 una ficha que circula en todo el anillo, que se transfiere del proceso p al p + 1 en mensajes puntuales, cuando un proceso obtiene la ficha de su vecino verifica si intenta entrar a una regin crtica, De ser as, el proceso entra a la regin crtica, hace el proceso necesario y sale de all, despus de salir pasa la ficha a lo largo del anillo, como condicin adicional, no se puede entrar a una segunda regin crtica con la misma ficha. En caso contrario, vuelve a pasar la ficha al siguiente proceso.

Si la ficha se pierde debe ser regenerada, aunque es difcil detectar su perdida, la cantidad de tiempo entre las apariciones sucesivas de la ficha en la red no est acotada, por ello es difcil decidir si est perdida o capturada por algn proceso que no la libera.

Potrebbero piacerti anche