next up previous contents
Next: Algoritmo de Dekker Up: Concurrencia y Distribución Previous: Funcionamiento correcto

Exclusión mutua a nivel bajo


Para evitar el acceso concurrente a recursos compartidos hace falta instalar un mecanismo de control.

Un método es usar un tipo de cerrojo (``lock''). Si un proceso quiere usar el recurso, mira si el cerrojo está abierto, si lo está, cierra el cerrojo y usa el recurso. Una vez ha terminado, abre el cerrojo de nuevo. Si está cerrado el cerrojo, tiene que esperar o dedicarse a otra cosa que quede por hacer.

Denotamos el recurso con una variable r (que puede ser, p.e., una impresora o un fichero o una estructura de datos (cola o lista)).

Mientras un proceso está accediendo al recurso r ningún otro proceso debe interferir (especificamos más adelante este `interferir' de modo más preciso). El problema más grande ocurre cuando dos procesos intentan modificar el estado del recurso al mismo tiempo.

En otras palabras, el proceso está ejecutando una región crítica que usa el recurso r y todos los demás procesos deben estár excluidos.

Desarrollo del algoritmo de Dekker y Peterson



Subsecciones
next up previous contents
Next: Algoritmo de Dekker Up: Concurrencia y Distribución Previous: Funcionamiento correcto
© 2003, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática