Monitores
UNIDAD 5
MONITORES
5.1 Introducción Los semáforos son primitivas con las cuales es difícil expresar una solución a grandes problemas de concurrencia y su presencia enprogramas concurrentes incrementa la ya existente dificultad para probar que los programas son correctos. Los algoritmos para la implementación de la exclusión mutua basada en semáforos tienen algunasdebilidades: • La omisión de una de estas primitivas puede corromper la operación de un sistema concurrente. • El control de la concurrencia es responsabilidad del programador. • Las primitivas de controlse encuentran esparcidas por todo el sistema. La noción de un monitor fue presentada inicialmente por Dijkstra (1971), posteriormente por Brinch Hansen (1973) y después fue refinada por Hoare (1974).5. 2 Definición Un monitor es un mecanismo de software para control de concurrencia que contiene los datos y los procedimientos necesarios para realizar la asignación de un determinado recurso ogrupo de recursos compartidos reutilizables en serie. • • Un monitor se usa para manejar todas las funciones de concurrencia, comunicación entre procesos y localización física de recursos en una regióncrítica. Para llevar a cabo la asignación de un recurso un proceso debe llamar a una función particular del monitor. Pueden existir varios procesos que deseen entrar al monitor, pero la exclusión mutuaqueda definida por la frontera del monitor: en un tiempo dado sólo un proceso se encuentra dentro del monitor. Los datos contenidos en el monitor pueden ser globales (accesibles a todos losprocedimientos dentro del monitor), o locales (accesibles a un procedimiento específico). Estos datos sólo son accesibles dentro del monitor; no hay forma de que un proceso fuera del monitor pueda acceder adichos datos. El monitor consta de varios procedimientos que manipulan datos internos y existe una parte de inicialización (figura 5.1). El monitor puede ser visto como una aduana en donde se permite...
Regístrate para leer el documento completo.