Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porBeatriz Reyes Poblete Modificado hace 6 años
1
Exclusión mutua Un Algoritmo Centralizado Algoritmo Descentralizado
Un Algoritmo Distribuido Un Algoritmo para Anillos Token
2
Exclusion Mutua Los algoritmos de exclusión mutua (comúnmente abreviada como mutex por mutual exclusion) se usan en programación concurrente para evitar el uso simultáneo de recursos comunes, como variables globales, por fragmentos de código conocidos como secciones críticas. La mayor parte de estos recursos son las señales, contadores, colas y otros datos que se emplean en la comunicación entre el código que se ejecuta cuando se da servicio a una interrupción y el código que se ejecuta el resto del tiempo. Se trata de un problema de vital importancia porque, si no se toman las precauciones debidas, una interrupción puede ocurrir entre dos instrucciones cualesquiera del código normal y esto puede provocar graves fallos. La técnica que se emplea por lo común para conseguir la exclusión mutua es inhabilitar las interrupciones durante el conjunto de instrucciones más pequeño que impedirá la corrupción de la estructura compartida (la sección crítica). Esto impide que el código de la interrupción se ejecute en mitad de la sección crítica.
3
Algoritmo Centralizado
Se elige un nodo como coordinador (líder). Cuando un nodo quiere entrar en la sección crítica, envía un mensaje al líder, pidiendo permiso. Si ningún otro proceso está en la sección crítica, el líder responde CONCEDER, respondiendo DENEGAR en caso contrario. Cuando un proceso sale de su sección crítica, avisa al líder. Si el líder sabe de otro proceso que intentó entrar después, le envía CONCEDER.
4
Un Algoritmo Distribuido
Cuando un proceso quiere entrar en la sección crítica, envía un mensaje TRY a todos. Cuando un proceso recibe un mensaje TRY: Si no está intentando entrar en su sección crítica, envía OK. Si está en su sección crítica, no contesta y encola en mensaje. Si no está en su sección crítica, pero quiere entrar, compara el número de evento del mensaje entrante con el que él mismo envió al resto. Vence el número más bajo: Si el mensaje entrante es más bajo, responde OK. Si el más alto, no responde y encola el mensaje Un proceso entra en la sección crítica, cuando recibe OK de todos. Cuando sale, envía OK a todos los mensajes que retuvo en su cola.
5
Algoritmo de Anillo Token
Token Bus es un protocolo para redes de área local con similitudes a Token Ring, pero en vez de estar destinado a topologías en anillo está diseñado para topologías en bus. Es un protocolo de acceso al medio en el cual los nodos están conectados a un bus o canal para comunicarse con el resto. En todo momento hay un testigo (token) que los nodos de la red se van pasando, y únicamente el nodo que tiene el testigo tiene permiso para transmitir
6
Funcionamiento El testigo pasa de un nodo al siguiente siguiendo el orden del anillo lógico. Los nodos fuera del anillo no reciben testigo. Siempre hay un testigo (token) el cual las estaciones de la red se van pasando en el orden en el que están conectadas. Solamente un único nodo puede transmitir en un momento dado y éste nodo es el que tiene el testigo. El testigo es usado durante un tiempo para transmitir, pasando después el testigo a su vecino lógico para mantener el anillo. Si el nodo no tuviera que enviar ningún dato, el testigo es inmediatamente pasado a su nodo sucesor. La idea de anillo lógico se usa para que cualquier ruptura del anillo desactive la red completa. Es necesario que un protocolo notifique las desconexiones o adhesiones de nodos al anillo
7
Un Algoritmo para Anillos
Un token circula por un anillo lógico. Un proceso que quiere entrar en su sección crítica, espera a tener el token. Sólo puede entrar en la sección crítica un proceso: el que tiene el token. Si un nodo cae, hay que reconstruir el token.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.