next up previous contents
Next: Regiones críticas condicionales Up: Exclusión mutua a nivel Previous: Semáforos   Índice General


Regiones críticas

El término abstracto de regiones críticas se puede ver realizado directamente en un lenguaje de programación. Así parte de la responsabilidad se ha trasladado desde el programador al compilador.

De algúna manera se identifica que algún bloque de código se debe tratar como región crítica:


  V is shared variable
  region V do
    code of critical region

El compilador asegura que la variable V tenga un semáforo adjunto que se usa para controlar el acceso exclusivo de un solo proceso a la región crítica. De este modo no hace falta que el programador use directamente las operaciones wait() y signal() para controlar el acceso con el posible error de olvidarse de algún signal().

Adicionalmente es posible que dentro de la región crítica se llama a otra parte del programa (p.e., un procedimiento o función) que a su vez contenga una región crítica. Si esta región esté controlada por la misma variable V el proceso obtiene automáticamente también acceso a dicha región.

Regiones críticas no son lo mismo que los semáforos, porque no se tiene acceso directo a las operaciones init(), wait() y signal().


next up previous contents
Next: Regiones críticas condicionales Up: Exclusión mutua a nivel Previous: Semáforos   Índice General
© 2001, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática