SlideShare a Scribd company logo
1 of 15
Monitores ,[object Object],[object Object],[object Object],[object Object]
En qué consiste un Monitor? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ilustración de un Monitor Datos compartidos Procedimientos Código de Inicialización Cola de hebras  para usar Monitor Sólo una hebra en Monitor al mismo tiempo
Cómo controla acceso Monitor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Variables de Condición ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operaciones con Variables de Condición ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Monitores, incluyendo variables de condición lock Var cond1 Var cond2 Procedimientos monitor Cola espera monitor Colas esperas Variables de  condición
Cómo resolver problemas con monitores? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo productor/consumidor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Usando Monitores con Productor/Consumidor Monitor Producer_Consumer { buffer items[N]; condition not_full, not_empty; int count_items;  // número de items en el buffer int in, out; procedure add_entry(item x){ while(count_items == N) wait(not_full); items[in] = x; in = (in + 1)%N;  count_items++; signal(not_empty); } procedure get_entry(item *x){ while(count_items == 0) wait(not_empty); *x = items[out]; out = (out + 1) %N; count_items--; signal(not_full); } }
Tipos de Monitores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplos con los dos tipos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Monitores en Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Variables de Condición y Mutex Caso pthreads ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resumen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosEmmanuel Fortuna
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesosjulio izaguirre
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoriaMiguel Magaña
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosjocuva101
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesosAlberto Ch
 

What's hot (20)

Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Candados bd
Candados bdCandados bd
Candados bd
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 
Funciones de administracion de memoria
Funciones de administracion de memoriaFunciones de administracion de memoria
Funciones de administracion de memoria
 
Odbc
OdbcOdbc
Odbc
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
B. manejo de concurrencia
B.  manejo de concurrenciaB.  manejo de concurrencia
B. manejo de concurrencia
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
 
Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesos
 

Viewers also liked

Viewers also liked (17)

Audio cassete taller #7
Audio cassete taller #7Audio cassete taller #7
Audio cassete taller #7
 
Semáforos, monitores y paso de mensajes
Semáforos, monitores y paso de mensajesSemáforos, monitores y paso de mensajes
Semáforos, monitores y paso de mensajes
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - Semáforos
 
Hilos semaforos
Hilos semaforosHilos semaforos
Hilos semaforos
 
Ingenieria de sotware
Ingenieria de sotwareIngenieria de sotware
Ingenieria de sotware
 
Filósofos
FilósofosFilósofos
Filósofos
 
Monitores
MonitoresMonitores
Monitores
 
Diapositivas de practica
Diapositivas de practicaDiapositivas de practica
Diapositivas de practica
 
Hilos en java
Hilos en javaHilos en java
Hilos en java
 
Sistemas control
Sistemas controlSistemas control
Sistemas control
 
Problema de los Filosofos
Problema de los FilosofosProblema de los Filosofos
Problema de los Filosofos
 
Sistema operativos semáforos
Sistema operativos  semáforosSistema operativos  semáforos
Sistema operativos semáforos
 
El semáforo
El semáforoEl semáforo
El semáforo
 
Capitulo7 semaforos
Capitulo7 semaforosCapitulo7 semaforos
Capitulo7 semaforos
 
Semáforos
SemáforosSemáforos
Semáforos
 
Semaforos
SemaforosSemaforos
Semaforos
 
Paginas de matematicas
Paginas de matematicasPaginas de matematicas
Paginas de matematicas
 

Similar to Monitores

Similar to Monitores (20)

Sincronizacion de procesos
Sincronizacion de procesosSincronizacion de procesos
Sincronizacion de procesos
 
Procesos
ProcesosProcesos
Procesos
 
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOSUNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
 
Sistema opertivo
Sistema opertivoSistema opertivo
Sistema opertivo
 
Monitores
MonitoresMonitores
Monitores
 
Programación básica
Programación básicaProgramación básica
Programación básica
 
Presentación1
Presentación1Presentación1
Presentación1
 
Examen 2 s,o,
Examen 2 s,o,Examen 2 s,o,
Examen 2 s,o,
 
Tema0397
Tema0397Tema0397
Tema0397
 
Sistemas industriales
Sistemas industrialesSistemas industriales
Sistemas industriales
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
6 java sesin 6 pps
6 java sesin 6 pps6 java sesin 6 pps
6 java sesin 6 pps
 
Estados y transiciones de un proceso
Estados y transiciones de un procesoEstados y transiciones de un proceso
Estados y transiciones de un proceso
 
Automatizacion industrial
Automatizacion industrialAutomatizacion industrial
Automatizacion industrial
 
2.4 Cuestionario de comunicacion entre procesos
2.4 Cuestionario de comunicacion entre procesos2.4 Cuestionario de comunicacion entre procesos
2.4 Cuestionario de comunicacion entre procesos
 
Esquema de un sistema de control.
Esquema de un sistema  de  control.Esquema de un sistema  de  control.
Esquema de un sistema de control.
 
Lean poka yoke segunda parte
Lean poka yoke  segunda parteLean poka yoke  segunda parte
Lean poka yoke segunda parte
 
Sentencia do while
Sentencia do whileSentencia do while
Sentencia do while
 
Esquema de un_sistema__de__control.
Esquema de un_sistema__de__control.Esquema de un_sistema__de__control.
Esquema de un_sistema__de__control.
 
Blog
BlogBlog
Blog
 

More from Stefano Salvatori (20)

Salida a Volcán Copahue Febrero 2011
Salida a Volcán Copahue Febrero 2011Salida a Volcán Copahue Febrero 2011
Salida a Volcán Copahue Febrero 2011
 
Salida a Aguas Calientes abril 2011
Salida a Aguas Calientes abril 2011Salida a Aguas Calientes abril 2011
Salida a Aguas Calientes abril 2011
 
Sistema de capas
Sistema de capasSistema de capas
Sistema de capas
 
Enumeracion de Goedel
Enumeracion de GoedelEnumeracion de Goedel
Enumeracion de Goedel
 
Maquinas Abstractas
Maquinas AbstractasMaquinas Abstractas
Maquinas Abstractas
 
Intro
IntroIntro
Intro
 
Pipelining
PipeliningPipelining
Pipelining
 
Memoria I I
Memoria  I IMemoria  I I
Memoria I I
 
I S A
I S AI S A
I S A
 
C P U Uniciclo
C P U  UnicicloC P U  Uniciclo
C P U Uniciclo
 
Mips1
Mips1Mips1
Mips1
 
Exc Int
Exc IntExc Int
Exc Int
 
DesempeñO
DesempeñODesempeñO
DesempeñO
 
Mips
MipsMips
Mips
 
Memoria I
Memoria  IMemoria  I
Memoria I
 
Codificacion
CodificacionCodificacion
Codificacion
 
Multiciclo
MulticicloMulticiclo
Multiciclo
 
Hebras
HebrasHebras
Hebras
 
Planificacion Procesos Gral
Planificacion Procesos GralPlanificacion Procesos Gral
Planificacion Procesos Gral
 
Memoria Soporte Hw
Memoria Soporte HwMemoria Soporte Hw
Memoria Soporte Hw
 

Monitores

  • 1.
  • 2.
  • 3. Ilustración de un Monitor Datos compartidos Procedimientos Código de Inicialización Cola de hebras para usar Monitor Sólo una hebra en Monitor al mismo tiempo
  • 4.
  • 5.
  • 6.
  • 7. Monitores, incluyendo variables de condición lock Var cond1 Var cond2 Procedimientos monitor Cola espera monitor Colas esperas Variables de condición
  • 8.
  • 9.
  • 10. Usando Monitores con Productor/Consumidor Monitor Producer_Consumer { buffer items[N]; condition not_full, not_empty; int count_items; // número de items en el buffer int in, out; procedure add_entry(item x){ while(count_items == N) wait(not_full); items[in] = x; in = (in + 1)%N; count_items++; signal(not_empty); } procedure get_entry(item *x){ while(count_items == 0) wait(not_empty); *x = items[out]; out = (out + 1) %N; count_items--; signal(not_full); } }
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.