Monitores (concurrencia)

  • Uploaded by: Pedro Domingo
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Monitores (concurrencia) as PDF for free.

More details

  • Words: 473
  • Pages: 2
Monitores     

Los monitores son una herramienta de sincronización. Un monitor posee una estructura propia, es una colección de procedimientos, variables y estructuras de datos que se agrupan en un módulo especial. Los procesos pueden llamar a los procedimientos de un monitor siempre que lo requieran, pero no pueden accesar directamente las estructuras de datos internas del monitor. Implementan un nivel aún más alto de abstracción facilitando el acceso a recursos compartidos. Un monitor es un tipo de datos abstracto que contiene: o Un conjunto de procedimientos de control de los cuales solamente un subconjunto es visible desde fuera. o Un conjunto de datos privados, es decir, no visibles desde fuera.

Se dice que los monitores son de alto nivel, ya que son implementados por el lenguaje de programación (Compilador + Run+time), a diferencia de los semáforos que son de bajo nivel, ya que son implementados por el sistema operativo, aunque cabe aclarar que existen lenguajes de programación que ofrecen esta solución por medio de librerias. Un aspecto que se encuentra en muchas implementaciones de monitores es la sincronización condicional, es decir, mientras un proceso está ejecutando un procedimiento del monitor (con exclusión mutua) puede dar paso a otro proceso liberando el cerrojo. Estas operaciones se suele llamar wait() o delay(). El proceso que ha liberado el cerrojo se queda bloqueado hasta que otro proceso le despierta de nuevo. Este bloqueo temporal está realizado dentro del monitor (dicha técnica se refleja en Java con wait() y notify()).

Componentes    

Inicialización: contiene el código a ser ejecutado cuando el monitor es creado Datos privados: contiene los procedimientos privados, que sólo pueden ser usados desde dentro del monitor y no son visibles desde fuera Procedimientos del monitor: son los procedimientos que pueden ser llamados desde fuera del monitor. Cola de entrada: contiene a los threads que han llamado a algún procedimiento del monitor pero no han podido adquirir permiso para ejecutarlos aún.

Ventajas  

El control de los recursos esta centralizado en el monitor, lo que hace que sea más fácil su mantenimiento. A diferencia de los semáforos que se código queda distribuido en varias partes del programa. Provee una mayor protección a las variables de control.

Desventajas  

Los monitores tienen exclusividad de uso, es decir, la concurrencia está limitada si muchos procesos hacen uso del mismo monitor. El uso de monitores es bastante costoso, porque se pierde eficiencia por tanto bloqueo de los procesos.

Sistemas Operativos 1

http://elcopypaste.wordpress.com Universidad de San Carlos de Guatemala

Referencias Explicación y ejemplos de uso de monitores en Java: http://afrodita.unicauca.edu.co/~dparedes/java/threads/monitors.html Conceptos bien detallados y claros de lo que son los monitores: http://trevinca.ei.uvigo.es/~formella/doc/cd05/node80.html Detalle de los componentes de los monitores y los diferentes tipos que existen de estos: http://es.wikipedia.org/wiki/Monitor_(concurrencia)

Licencia

Sistemas Operativos 1

http://elcopypaste.wordpress.com Universidad de San Carlos de Guatemala

Related Documents

Concurrencia
May 2020 21
Monitores
May 2020 18
Monitores
November 2019 25
Monitores
June 2020 19
Monitores
October 2019 37

More Documents from ""

April 2020 7
Modelo De Procesos
December 2019 17