Exclusión mutua en sincronización

Durante la ejecución simultánea de procesos, los procesos deben ingresar a la sección crítica (o la sección del programa compartida entre procesos) en ocasiones para la ejecución. Puede suceder que debido a la ejecución de múltiples procesos a la vez, los valores almacenados en la sección crítica se vuelvan inconsistentes. En otras palabras, los valores dependen de la secuencia de ejecución de las instrucciones, también conocida como condición de carrera . La tarea principal de la sincronización de procesos es deshacerse de las condiciones de carrera mientras se ejecuta la sección crítica. 
Esto se logra principalmente a través de la exclusión mutua

La exclusión mutua es una propiedad de la sincronización de procesos que establece que «no pueden existir dos procesos en la sección crítica en un momento dado». El término fue acuñado por primera vez por Dijkstra. Cualquier técnica de sincronización de procesos que se utilice debe satisfacer la propiedad de exclusión mutua, sin la cual no sería posible deshacerse de una condición de carrera. 

Para entender la exclusión mutua, tomemos un ejemplo. 

Ejemplo: 
En la sección de ropa de un supermercado, dos personas están comprando ropa. 

El chico A decide comprar algo de ropa y se dirige al probador para probársela. Ahora, mientras el chico A está dentro del vestuario, hay un cartel de «ocupado» que indica que nadie más puede entrar. La chica B también tiene que usar el vestuario, así que tiene que esperar hasta que el chico A termine. utilizando el vestuario. 

Una vez que el niño A sale del vestidor, el letrero cambia de ‘ocupado’ a ‘vacante’, lo que indica que otra persona puede usarlo. Por lo tanto, la niña B procede a usar el vestuario, mientras que el letrero muestra ‘ocupado’ nuevamente. 

El vestuario no es más que la sección crítica, el niño A y la niña B son dos procesos diferentes, mientras que el letrero fuera del vestuario indica el mecanismo de sincronización del proceso que se está utilizando.
 

Publicación traducida automáticamente

Artículo escrito por ArkadyutiBanerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *