Sie sind auf Seite 1von 11

MONITORES

INTRODUCCIÓN

 En el presente trabajo se explicará la definición y las


funciones de los monitores enfocados en la
programación, el cual es un mecanismo que surgió
con el fin de mejorar la sincronización de procesos.
LA COMPUTACIÓN PARALELA

 La computación paralela se basa principalmente en ejecutar muchas


instrucciones de forma simultanea.
EL PARALELISMO
 El paralelismo se ha empleado durante muchos años, sobre todo en la
computación de altas prestaciones, pero el interés en ella ha crecido
últimamente debido a las limitaciones físicas que impiden el aumento de
la frecuencia.
DEFINICIÓN MONITORES
 En la programación paralela, los monitores son estructuras de datos
abstractas destinadas a ser usadas sin peligro por más de un hilo de
ejecución.
 La característica que principalmente los define es que sus métodos son
ejecutados con exclusión mutua.
CARACTERISTICAS

 Los datos son privados.


 Ofrecen una serie de métodos públicos para acceder a dichos
datos.
 En cada momento sólo puede haber un proceso activo en algún
método del monitor, es decir, ejecutando código de esos métodos
públicos del monitor. Sería equivalente a decir que el recurso que
queremos compartir se declara como monitor. Los procesos que
usan el monitor son independientes unos de otros y cuando deseen
usar el recurso, llamarán a los métodos del monitor que
implementen la operación que se desea ejecutar.
ORGANIZACIÓN DE PROCESOS

 Variables de condición: lista de procesos inicialmente vacía.


 Variables primitivas: wait(c), añade el proceso p invocante a c y
proceso p bloquea.
 signal(c), selecciona a uno de los procesos en c y lo pone en
preparado.
¿EN QUE CONSISTE UN MONITOR?

 Módulo de software que encapsula.


 Garantiza acceso a datos compartidos
TIPOS DE MONITORES

Monitores de Hoare:
 Ejecutar hebra que espera inmediatamente
 Hebra que notifica se bloquea inmediatamente
 condición garantizada para cuando hebra que esperaba se ejecute
 hebra que notifica debe restaurar invariantes de monitor antes de notificar
Monitores Mesa:
 Hebra que espera se prepara para ejecutar, pero hebra que notifica sigue
en ejecución
 hebra que espera se ejecuta cuando hebra que notifica sale de monitor
 condición puede ser falsa cuando hebra que esperaba se ejecuta
 Hebra que notifica no necesita restaurar invariantes de monitor
 Hebra que esperaba debe volver a verificar por condición
PREGUNTAS

 Si varios procesos están suspendidos por la condición x y algún proceso


ejecuta x.signal, ¿qué proceso se reanuda?
 ¿Qué significa operación signal?

Das könnte Ihnen auch gefallen