Exclusión Mutua
Exclusión Mutua
Exclusión Mutua
SISTEMAS OPERATIVOS
ALGORITMOS DE EXCLUSION MUTUA
SAMARIO MARTINEZ ERIK UNIDAD 2 26/09/2011 08210801
Exclusin mutua. Es la comunicacin requerida entre dos o ms procesos que se estn ejecutando en paralelo y que necesitan a la vez el uso de un recurso no compartible. Consiste en asignar el recurso no compartible a slo uno de los procesos, mientras que los otros deben permanecer a la espera hasta que finalice la utilizacin de dicho recurso por el proceso al que se le asigno. Cuando este proceso termine, el recurso ser asignado a uno de los procesos en espera.
Seccin critica. Es la parte del programa con un comienzo y un final claramente marcados que generalmente contiene la actualizacin de una o ms variables compartidas. Para que una solucin al problema de la exclusin mutua sea vlida, se tienen que cumplir una serie de condiciones: Hay que garantizar la exclusin mutua entre los diferentes procesos a la hora de acceder al recurso compartido. No puede haber en ningn momento dos procesos dentro de sus respectivas secciones crticas. No se deben hacer suposiciones en cuanto a la velocidad relativa de los procesos en conflicto. Ningn proceso que est fuera de su seccin crtica debe interrumpir a otro para el acceso a la seccin crtica. Cuando ms de un proceso desee entrar en su seccin crtica, se le debe conceder la entrada en un tiempo finito, es decir, que nunca se le tendr esperando en un bucle que no tenga final. Algoritmos de Exclusin Mutua. Los algoritmos de exclusin mutua se usan en programacin concurrente para evitar el uso simultneo de recursos comunes, como variables globales, por fragmentos de cdigo conocidos como secciones crticas. La mayor parte de estos recursos son las seales, contadores, colas y otros datos que se emplean en la comunicacin entre el cdigo que se ejecuta cuando se da servicio a una interrupcin y el cdigo que se ejecuta el resto del tiempo. Se trata de un problema de vital importancia porque, si no se toman las precauciones debidas, una interrupcin puede ocurrir entre dos instrucciones cualesquiera del cdigo normal y esto puede provocar graves fallos. La tcnica que se emplea por lo comn para conseguir la exclusin mutua es inhabilitar las interrupciones durante el conjunto de instrucciones ms pequeo que impedir la corrupcin de la estructura compartida.
Algoritmo de Dekker.
El problema de la exclusin mutua para dos procesos fue definitivamente resuelto por Dekker en 1965. Es un algoritmo difcil de entender, Dijkstra estableci un mtodo para obtenerlo y las condiciones para poder ser aceptadas son: 1. No hacer ninguna suposicin acerca de las instrucciones de procesos soportados por la mquina. 2. No hacer ninguna suposicin acerca de la velocidad de ejecucin de los procesos, excepto que no es cero. 3. Cuando un proceso est en seccin no-critica no puede impedir a que otro entre. 4. Un proceso que quiera entrar en seccin critica no puede ser retrasado indefinidamente; esta condicin asegura la alcanzabilidad de la seccin crtica por parte de los procesos
Problemas del algoritmo de Dekker
Sincronizacin forzada. Alternancia estricta, los procesos lentos atrasan a los rpidos. Interbloqueo. Ambos procesos entran en un mismo estado y nunca salen No garantiza la exclusin mutua, ambos entran al mismo tiempo a la regin crtica. Postergacin indefinida se queda esperando un evento que probablemente no suceda.
Algoritmo de Peterson
Tambin conocido como solucin de Peterson, es un algoritmo de programacin concurrente para exclusin mutua, que permite a dos o ms procesos o hilos de ejecucin compartir un recurso sin conflictos, utilizando slo memoria compartida para la comunicacin.
El algoritmo de la panadera de Lamport es un algoritmo de computacin creado por el cientfico en computacin Dr. Leslie Lamport, para implementar la exclusin mutua de N procesos o hilos de ejecucin.