Documente Academic
Documente Profesional
Documente Cultură
I.
OBJETIVOS
II.
INTRODUCCIN
Aunque los semforos tienen ciertas ventajas que garantizan su xito en los
problemas de sincronizacin entre procesos, tambin sufren ciertas debilidades. Por
ejemplo, es posible que se produzcan errores de temporizacin cuando se usan. Sin
embargo, la debilidad ms importante reside en su propio uso, es decir, es fcil que
un programador cometa algn error al, por ejemplo, intercambiar errneamente un
wait y un signal. Con el objetivo de mejorar los mecanismos de sincronizacin y
evitar este tipo de problemtica, en los ltimos aos se han propuesto soluciones de
ms alto nivel, como es el caso de los monitores. Bsicamente, un tipo monitor
permite que el programador defina una serie de operaciones pblicas sobre un tipo
abstracto de datos que gocen de la caracterstica de la exclusin mutua. La idea
principal est ligada al concepto de encapsulacin, de manera que un procedimiento
definido dentro de un monitor slo puede acceder a las variables que se declaran
como privadas o locales dentro del monitor. Esta estructura garantiza que slo un
proceso est activo cada vez dentro del monitor. La consecuencia directa de este
esquema es que el programador no tiene que implementar de manera explcita esta
restriccin de sincronizacin. Esta idea se traslada tambin al concepto de variables
de condicin. En esencia, un monitor es un mecanismo de sincronizacin de ms
alto nivel que, al igual que un cerrojo, protege la seccin crtica y garantiza que
solamente pueda existir un hilo activo dentro de la misma. Sin embargo, un monitor
permite suspender un hilo dentro de la seccin crtica posibilitando que otro hilo
pueda acceder a la misma. Este segundo
Por defecto, las variables condicin son colas fijo, es decir, los procesos se
reactivan en el mismo orden en el que se van suspendiendo. En la Figura 3.6 se
muestra la implementacin con monitores del problema del productor consumidor
(la versin con un buffer de una componente). En este problema tenemos dos
condiciones de sincronizacin, una que detiene al productor si va demasiado rpido
y quiere sobrescribir la variable antes de que haya sido el ida, y otra para parar al
consumidor si se adelanta, y quiere leer un dato que todava no se ha almacenado.
III.
PROCEDIMIENTO
Ejemplo 01
Supongamos que varios procesos deben incrementar al valor de una variable compartida
y poder examinar su valor en cualquier momento. Evidentemente, el acceso de dicha
variable debe ser realizarse en exclusin mutua. Para ellos definiremos un monitor que
encapsulara dicha variable compartida
Ejemplo 02
implementacin un semforo binario mediante un monitor, utilizaremos:
IV.
CONCLUSIONES
V.
BIBLIOGRFICAS
http://www.libropctr.com/downloads/LibroPCTR_2016.pdf
http://www.lcc.uma.es/~gallardo/temaCLASE.pdf