Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 5 Monitores
Indice
Definicin de los monitores Sincronizacin condicional usando monitores Algunos problemas con monitores
Las regiones crticas se escriben como funciones y se encapsulan juntas en un mdulo nico llamado monitor.
4
Un monitor es similar a un TAD en el sentido de que esconde la represnetacin interna de sus variables y proporciona al exterior slo el comportamiento funcional definido por las operaciones exportadas.
El compilador garantiza que el acceso al cdigo dentro de un monitor se realiza bajo exclusin mutua. Un proceso que intenta ejecutar un procedimiento del monitor cuando hay otro proceso ejecutando uno de los procedimientos en el mismo monitor se bloquea en la cola del monitor Cuando un proceso finaliza su llamada a procedimiento de monitor, la exclusin mutua se pasa a uno de los procesos bloqueados.
6
var C: condition;
Se declaran dentro de un monitor y se usan para bloquear y desbloquear procesos.
7
delay(C) libera el monitor y bloquea el proceso invocador en C. resume(C) desbloquea el primer proceso esperando en C. La funcin empty retorna un valor booleano que determina si la cola est vaca.
8
10
process type Lector; begin repeat LeerEscribir.Entrada(true); (*Acceder a los datos*) LeerEscribir.Salida(true); (*Usar la informacin*) forever end;
process type Escritor; begin repeat (* Producir nueva informacin *) LeerEscribir.Entrada(false); (*Modificar los datos*) LeerEscribir.Salida(false); forever end;
11