next up previous contents
Next: Algoritmo de Dekker Up: 92 Concurrencia y Distribución Previous: Redes de Petri   Índice General

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 haber terminado, abre el cerrojo de nuevo. Si está cerrado el cerrojo, tiene que esperar o dedicarse a otra cosa que queda por hacer.

Notamos 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á accedando el recurso r ningún otro proceso debe interferir (especificamos más adelante este `interferir' 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: 92 Concurrencia y Distribución Previous: Redes de Petri   Índice General
© 2001, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática