Sistemas operativos

Solo disponible en BuenasTareas
  • Páginas : 2 (443 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de octubre de 2011
Leer documento completo
Vista previa del texto
2. Explique la diferencia entre un monitor y un semáforo:
Partamos diciendo que el modelo producer/consumer es un ejemplo de relación mediante semáforos ó monitores entre dos hilos que intercambianelementos de forma segura y controlada, de forma que cuando el "productor" introduce un elemento avisa a al "consumidor" de que ya puede leer. De esta forma, ambas partes están en idle mientras nohay nada que hacer y se ponen en marcha automáticamente cuando hay "faena" que hacer.
- En el caso de los semáforos, el estado del recurso se controla mediante el uso de variables enteras globalesasociadas a cada recurso y métodos P() y V() encargados de incrementar/decrementar dicha variable y, condicionalmente respecto a dicho valor, acceder al recurso o mantenerse en una espera ocupada. Es unmétodo bastante complejo debido al uso de variables globales y métodos P() y V() , en programación .Net son respectivamente WaitOne() y Release()) dispersos por porciones de código fuente, son costosasde depurar y testear en caso de existir fallos; además dicha espera ocupada provoca ineficiencia.
- Por contra, el uso de monitores se basa en un planteamiento diferente: El control de la exclusiónmutua en un monitor se basa en la existencia de una cola asociada al monitor.
El proceso de gestión de esta cola sigue el siguiente algoritmo:
  1.- Cuando un proceso activo ejecuta uno de losprocedimientos del monitor, y otro proceso activo intenta ejecutar otro proceso del mismo monitor (o el mismo proceso, obviamente); el código de acceso al monitor (generado por el compilador) bloquea elproceso que realiza la llamada y lo inserta en la cola del monitor, siguiendo una política FIFO. De esta forma se impide que dos procesos activos estén al mismo tiempo dentro del monitor.
  2.- Cuandoun proceso activo abandona el monitor (finaliza la ejecución del procedimiento del monitor), el propio monitor selecciona el elemento que se encuentra al frente de la cola asociada y lo desbloquea,...
tracking img