La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

MONITORES INTEGRANTES: Arias Marcelo Tnt. Espín Roberto Tnt. Rosero Santiago.

Presentaciones similares


Presentación del tema: "MONITORES INTEGRANTES: Arias Marcelo Tnt. Espín Roberto Tnt. Rosero Santiago."— Transcripción de la presentación:

1 MONITORES INTEGRANTES: Arias Marcelo Tnt. Espín Roberto Tnt. Rosero Santiago

2 ¿Qué son los Monitores? ■Un monitor es un mecanismo de alto nivel de Software para control de concurrencia que contiene una colección de datos y los procedimientos necesarios para realizar la asignación de un determinado recurso o grupo de recursos compartidos por varios procesos.

3 Un poco de Historia……….. ■La idea de un Monitor fue presentada primero por Dijkstra en 1971 donde hizo una propuesta de una unidad de programación denominada “Secretary” para encapsular datos compartidos, junto con los procedimientos para acceder a ellos. ■Luego ésto fue mejorado por Hoare y en 1974 fue quien acuñó el nombre de “Monitor”. Posteriormente, Hansen incorpora los monitores al lenguaje Pascal concurrente en el año 1975.

4 Los Monitores se caracterizan: ■Porque proveen sincronización de procesos con exclusión mutua, es decir, que sólo se permite que un proceso puede estar activo. ■Los procesos no pueden usar directamente la representación de un tipo Monitor por lo tanto un procedimiento definido dentro de un monitor sólo tiene acceso a las variables declaradas localmente y a los parámetros formales.

5 Resumiendo las Características básicas de un Monitor son: ■Es un Módulo de software. ■Tipo Abstracto de Dato (TAD). ■Mecanismo de alto nivel (impuesto por el compilador). ■Estructura Fundamental de Sincronización. ■Variables de datos locales sólo se acceden a través de los procedimientos del Monitor. ■Un proceso entra al monitor invocando uno de sus procedimientos.

6 Estructura: ■Los monitores tiene distintas formas de declaración y creación según el lenguaje de programación utilizado, así que a continuación utilizamos la siguiente notación genérica: Estructura Datos (privados) Recurso compartido Colas (“condition variable” = assertion) Variables internas Procedimientos (públicos) entry() signal() wait() Secuencia de inicio

7 Sintaxis de un monitor: El tipo de dato "Monitor" contiene la declaración de variables compartidas cuyos valores definen el estado de una instancia de dicho tipo. Tiene un cuerpo de procedimientos o funciones que operan dichas variables.

8 Importante destacar! ■Asegura que sólo un proceso a la vez puede estar activo dentro del Monitor. ■El programador no necesita codificar explícitamente. ■Se agrega el constructor condition para sincronización.

9 Ventajas del uso de Monitores: ■Exclusión mutua automática: Al ejecutar un “wait” (dormir) al proceso que está dentro del monitor, inmediatamente se permite que entre otro proceso que esté en la cola esperando a entrar. ■Ejecución simultánea o concurrencia modular: Evitando conflictos de compartición de recursos al existir exclusión mutua. ■Modularidad: Sólo en el Monitor se tiene visibilidad sobre los objetos que están declarados en él. ■Facilidad de mantención: La sincronización de procesos se realiza en el interior del Monitor, por lo que es más fácil de verificar, y por ende se facilita su mantenimiento.

10 Desventajas del uso de Monitores: ■Sincronización depende del programador: Razón por la cual existe la probabilidad de errores. ■Probabilidades de starvation: Es decir, que se tengan procesos de baja prioridad que nunca lleguen a ejecutarse. ■Muy costoso: Al bloquearse muchos procesos, se produce una pérdida de eficiencia. ■Riesgo de thrashing o hiperpaginación: sucede cuando se utiliza una gran cantidad de recursos de manera creciente para hacer una cantidad cada vez más baja de trabajo.


Descargar ppt "MONITORES INTEGRANTES: Arias Marcelo Tnt. Espín Roberto Tnt. Rosero Santiago."

Presentaciones similares


Anuncios Google