SlideShare una empresa de Scribd logo
1 de 38
PROGRAMACION CONCURRENTE ,[object Object]
Multitarea, Multiprogramacion, multiprocesos ,[object Object],Multitareas Multiprogramacion Multiprocesos
Multitareas  ,[object Object],[object Object],[object Object],*  Multitarea Nula * Multitarea Cooperativa * Multitarea Preferente * Multitarea Real
Multitarea Nula ,[object Object]
Multitarea Cooperativa ,[object Object],[object Object]
Multitarea Preferente ,[object Object]
Multitarea Real ,[object Object]
Multitarea Real
Multiprogramacion ,[object Object],[object Object],[object Object]
Principios de Concurrencia ,[object Object]
Principios de Concurrencia ,[object Object],[object Object],[object Object],[object Object]
Varias aplicaciones: ,[object Object]
Aplicaciones estructuradas: ,[object Object],[object Object],[object Object]
Estructura del sistema operativo: ,[object Object]
LABORES DEL SISTEMA OPERATIVO   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Gracias
[object Object],[object Object],[object Object],Comunicación y Sincronización de Procesos
[object Object],[object Object],[object Object],[object Object]
Posibilidad de interaccion de procesos ,[object Object],[object Object],[object Object],[object Object]
Comunicación y sincronisacion de proceso ,[object Object],[object Object],[object Object]
Necesidad de sincronizacion de los procesos: region crıtica y exclusion mutua ,[object Object]
Gestion de procesos   ,[object Object]
La exclusión mutua la podríamos definir como una  operación de control que permite la coordinación de  procesos concurrentes (Comunicación requerida entre dos o mas procesos), y que tiene la capacidad de  prohibir a los demás procesos realizar una acción  cuando un proceso haya obtenido el permiso.   LA EXCLUSION MUTUA
SOLUCIONES SOFTWARE PARA LA EXCLUSION MUTUA Soluciones por Software. Una manera es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente, de esta manera los procesos deben coordinarse unos con otros para cumplir la exclusión mutua sin ayuda alguna, aunque estas soluciones son propensas a errores y a una fuerte carga de proceso (Algunos ejemplos de estas son: Algoritmo de Dekker y Algoritmo de Peterson).
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Algoritmo de Dekker es un algoritmo de programación concurrente para exclusión mutua,  que permite a dos procesos o hilos de ejecusion compartir un recurso sin conflictos. Fue uno de los primeros algoritmos de exclusión mutua inventados, implementado por  Edsger Diikstra. Si ambos procesos intentan acceder a la sección crítica simultáneamente,  el algoritmo elige un proceso según una variable turno. Si el otro proceso  está ejecutando en su sección crítica, deberá esperar su finalización. Existen cinco versiones del algoritmo Dekker, teniendo ciertos fallos los primeros cuatro. La versión 5 es la que trabaja más eficientemente, siendo una combinación de la 1 y la 4.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Peterson desarrolló el primer algoritmo (1981) para dos procesos que fue una simplificación del  algoritmo de Dekker  para dos procesos. Posteriormente este algoritmo fue generalizado para que funcione para N procesos .En el algoritmo para N procesos las variables c[i] además de valer "verdadero" y "falso", pueden valer "en sección critica" y turno desde 1 hasta N. El procedimiento es una generalización de este .c[i], que es un array y turno, que solo puede valer 1o 2 . .Este algoritmo garantiza la exclusión mutua debido al uso de una variable compartida , turno, que se chequea cada vez. Algoritmo de Peterson
Inicialmente, c[0]=c[1]= falso, y el valor de turno no tiene relevancia (pero de be ser 0 o 1). Para entrar en la sección crítica, el proceso Pi primero asigna el valor verdadero a c[i] y luego afirma que es el turno del otro proceso para entrar si así lo desea (turno = j). Si ambos procesos tratan de entrar a la vez, se asignará turno como i y j aproximadamente al mismo tiempo. Sólo una de estas asignaciones durará; la otra ocurrirá, pero será reemplazada de inmediato. El valor eventual de turno decide a cuál de los dos procesos se le permitirá entrar primero en su sección crítica.
Los semáforos pueden contemplarse como variables que tienen un valor entero sobre las que se definen las tres operaciones siguientes: Un semáforo puede inicializarse con un valor no negativo. Un semáforo puede inicializarse con un valor no negativo. La operación WAIT decremento el valor del semáforo. Si el valor se hace negativo, el proceso que ejecuta WAIT queda bloqueado. La operación SIGNAL incrementa el valor del semáforo. Si el valor no es positivo, se desbloquea a un proceso bloqueado previamente por una operación WAIT. Veamos cual serıa la implementación de un semáforo. Semáforos
Un monitor es, esencialmente, una colección de datos y de procedimientos para su manipulación junto con una secuencia de inicialización. Las variables de datos globales son generalmente privadas al monitor por lo que solo son accesibles a los procedimientos de este. Los procedimientos del monitor podrán ser públicos o privados. Un monitor puede considerarse como una estructura estática que se activa únicamente cuando alguno de sus procedimientos públicos es llamado por un proceso en ejecución y se dice, entonces, que el proceso en cuestión entra o tiene acceso al monitor. Solamente un proceso puede estar ejecutándose en el monitor en un instante determinado. Una estructura de datos compartida puede así protegerse situándola dentro de un monitor que ofrecerá un servicio de exclusión mutua para dicha estructura. Para que resulten útiles en el procesamiento concurrente, los monitores deben incluir alguna herramienta de sincronización de forma que se impida el acceso al monitor a un proceso cuando otro esta ejecutando dentro de el. Esta sincronización se consigue por medio MONITORES
PASO  DE  MENSAJES
Los mensajes constituyen relativamente sencillo y adecuado para la comunicación y para la sincronización entre procesos que trabajan en entornos
[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
SOLUCIONES HADWARE PARA LA EXCLUSION MUTUA ,[object Object],[object Object]
Habilitación / deshabilitacion de interrupciones instrucción comprobar y fijar (test and set)
instrucción comparar e intercambiar  (compare and swap) el problema de la cena de los filósofos

Más contenido relacionado

La actualidad más candente

Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Micael Gallego
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtualkerlly villon
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosFernando Morales
 
Modelos de arquitecturas de computo
Modelos de arquitecturas de computoModelos de arquitecturas de computo
Modelos de arquitecturas de computoYESENIA CETINA
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threadsLiNo Candelario
 
Estructura del sistema operativo
Estructura del sistema operativoEstructura del sistema operativo
Estructura del sistema operativoPaulo Galarza
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesosIchinose 11
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesosjulio izaguirre
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegiovatovar
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriaALASBLANKS
 
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesossistoperativos
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 

La actualidad más candente (20)

Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtual
 
Algoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativosAlgoritmos de planificación de procesos en sistemas operativos
Algoritmos de planificación de procesos en sistemas operativos
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Modelos de arquitecturas de computo
Modelos de arquitecturas de computoModelos de arquitecturas de computo
Modelos de arquitecturas de computo
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Sistemas operativos threads
Sistemas operativos   threadsSistemas operativos   threads
Sistemas operativos threads
 
Estructura del sistema operativo
Estructura del sistema operativoEstructura del sistema operativo
Estructura del sistema operativo
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
tecnicas de revisión del software
tecnicas de revisión del softwaretecnicas de revisión del software
tecnicas de revisión del software
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Algoritmo de dekker
Algoritmo de dekker Algoritmo de dekker
Algoritmo de dekker
 
Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesos
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 

Destacado

Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrentegamavi
 
Programacion Concurrente
Programacion ConcurrenteProgramacion Concurrente
Programacion Concurrenteismaelrubino
 
Programación multitarea
Programación multitareaProgramación multitarea
Programación multitareabowelmx
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyradaguestefc95b
 
EBS R12 Concurrent program tracing
EBS R12 Concurrent program tracingEBS R12 Concurrent program tracing
EBS R12 Concurrent program tracingSachin Srivastava
 
Oracle Concurrent Program Setup document
Oracle Concurrent Program Setup  documentOracle Concurrent Program Setup  document
Oracle Concurrent Program Setup documentvenkatesh gurusamy
 
Concurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAsConcurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAsMaris Elsins
 
Complejidad, aprendizaje y TIC
Complejidad,  aprendizaje y TICComplejidad,  aprendizaje y TIC
Complejidad, aprendizaje y TICcarrasco
 
Lógica de Programación
Lógica de ProgramaciónLógica de Programación
Lógica de ProgramaciónJaime Lara
 
Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOGDaniel Cruz
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaAgustin Ramos
 
Programación Modular
Programación ModularProgramación Modular
Programación Modularguestefc95b
 
Multitarea, multiprogramación, multiprocesos y
Multitarea, multiprogramación, multiprocesos yMultitarea, multiprogramación, multiprocesos y
Multitarea, multiprogramación, multiprocesos yMiguel Magaña
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacionMonik AZ
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSlorenapardo
 

Destacado (20)

Programacion concurrente
Programacion concurrenteProgramacion concurrente
Programacion concurrente
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
Programacion Concurrente
Programacion ConcurrenteProgramacion Concurrente
Programacion Concurrente
 
Programación concurrente
Programación concurrenteProgramación concurrente
Programación concurrente
 
Programación multitarea
Programación multitareaProgramación multitarea
Programación multitarea
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
EBS R12 Concurrent program tracing
EBS R12 Concurrent program tracingEBS R12 Concurrent program tracing
EBS R12 Concurrent program tracing
 
Oracle Concurrent Program Setup document
Oracle Concurrent Program Setup  documentOracle Concurrent Program Setup  document
Oracle Concurrent Program Setup document
 
Concurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAsConcurrent Processing Performance Analysis for Apps DBAs
Concurrent Processing Performance Analysis for Apps DBAs
 
Complejidad, aprendizaje y TIC
Complejidad,  aprendizaje y TICComplejidad,  aprendizaje y TIC
Complejidad, aprendizaje y TIC
 
Lógica de Programación
Lógica de ProgramaciónLógica de Programación
Lógica de Programación
 
Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOG
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrencia
 
Hilos – threads en java
Hilos – threads   en javaHilos – threads   en java
Hilos – threads en java
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
 
Multitarea, multiprogramación, multiprocesos y
Multitarea, multiprogramación, multiprocesos yMultitarea, multiprogramación, multiprocesos y
Multitarea, multiprogramación, multiprocesos y
 
Tipos de programacion
Tipos de programacionTipos de programacion
Tipos de programacion
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 

Similar a PROGRAMACION CONCURRENTE

Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosKim Sorel Rush
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesadorMiguel Joshua Godinez Barbosa
 
Trabajo de sistemas operativos
Trabajo de sistemas operativosTrabajo de sistemas operativos
Trabajo de sistemas operativosWpdw Rko
 
Tiposde Sistema Operativos
Tiposde Sistema OperativosTiposde Sistema Operativos
Tiposde Sistema OperativosMarvin Hernandez
 
Clasificacion de sistemas operativos
Clasificacion de sistemas operativosClasificacion de sistemas operativos
Clasificacion de sistemas operativosVictor Cartagena
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosCESAR
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosGUADALUPE
 
Funciones y clasificacion de los sistemas operativos.
Funciones y clasificacion de los sistemas operativos.Funciones y clasificacion de los sistemas operativos.
Funciones y clasificacion de los sistemas operativos.Mario Alberto Antonio Lopez
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativocamilobar2
 
Que son los sistemas operativos
Que son los sistemas operativosQue son los sistemas operativos
Que son los sistemas operativoschicaruda
 
Multiprogramacion
MultiprogramacionMultiprogramacion
MultiprogramacionIrisMTF16
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacionv3r02011
 

Similar a PROGRAMACION CONCURRENTE (20)

:)Resumen
:)Resumen:)Resumen
:)Resumen
 
Unidad 2 Sistemas Operativos
Unidad 2 Sistemas OperativosUnidad 2 Sistemas Operativos
Unidad 2 Sistemas Operativos
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
Trabajo de sistemas operativos
Trabajo de sistemas operativosTrabajo de sistemas operativos
Trabajo de sistemas operativos
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
Tiposde Sistema
Tiposde SistemaTiposde Sistema
Tiposde Sistema
 
Tiposde Sistema
Tiposde SistemaTiposde Sistema
Tiposde Sistema
 
Tiposde Sistema Operativos
Tiposde Sistema OperativosTiposde Sistema Operativos
Tiposde Sistema Operativos
 
Clasificacion de sistemas operativos
Clasificacion de sistemas operativosClasificacion de sistemas operativos
Clasificacion de sistemas operativos
 
Proceso
ProcesoProceso
Proceso
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
Funciones y clasificacion de los sistemas operativos.
Funciones y clasificacion de los sistemas operativos.Funciones y clasificacion de los sistemas operativos.
Funciones y clasificacion de los sistemas operativos.
 
Clasificacion de los s.o
Clasificacion de los s.oClasificacion de los s.o
Clasificacion de los s.o
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo
 
Que son los sistemas operativos
Que son los sistemas operativosQue son los sistemas operativos
Que son los sistemas operativos
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
 
Unidad2
Unidad2Unidad2
Unidad2
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 

PROGRAMACION CONCURRENTE

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. La exclusión mutua la podríamos definir como una operación de control que permite la coordinación de procesos concurrentes (Comunicación requerida entre dos o mas procesos), y que tiene la capacidad de prohibir a los demás procesos realizar una acción cuando un proceso haya obtenido el permiso. LA EXCLUSION MUTUA
  • 24. SOLUCIONES SOFTWARE PARA LA EXCLUSION MUTUA Soluciones por Software. Una manera es dejar la responsabilidad a los procesos que deseen ejecutar concurrentemente, de esta manera los procesos deben coordinarse unos con otros para cumplir la exclusión mutua sin ayuda alguna, aunque estas soluciones son propensas a errores y a una fuerte carga de proceso (Algunos ejemplos de estas son: Algoritmo de Dekker y Algoritmo de Peterson).
  • 25.
  • 26. Algoritmo de Dekker es un algoritmo de programación concurrente para exclusión mutua, que permite a dos procesos o hilos de ejecusion compartir un recurso sin conflictos. Fue uno de los primeros algoritmos de exclusión mutua inventados, implementado por Edsger Diikstra. Si ambos procesos intentan acceder a la sección crítica simultáneamente, el algoritmo elige un proceso según una variable turno. Si el otro proceso está ejecutando en su sección crítica, deberá esperar su finalización. Existen cinco versiones del algoritmo Dekker, teniendo ciertos fallos los primeros cuatro. La versión 5 es la que trabaja más eficientemente, siendo una combinación de la 1 y la 4.
  • 27.
  • 28. Peterson desarrolló el primer algoritmo (1981) para dos procesos que fue una simplificación del algoritmo de Dekker para dos procesos. Posteriormente este algoritmo fue generalizado para que funcione para N procesos .En el algoritmo para N procesos las variables c[i] además de valer "verdadero" y "falso", pueden valer "en sección critica" y turno desde 1 hasta N. El procedimiento es una generalización de este .c[i], que es un array y turno, que solo puede valer 1o 2 . .Este algoritmo garantiza la exclusión mutua debido al uso de una variable compartida , turno, que se chequea cada vez. Algoritmo de Peterson
  • 29. Inicialmente, c[0]=c[1]= falso, y el valor de turno no tiene relevancia (pero de be ser 0 o 1). Para entrar en la sección crítica, el proceso Pi primero asigna el valor verdadero a c[i] y luego afirma que es el turno del otro proceso para entrar si así lo desea (turno = j). Si ambos procesos tratan de entrar a la vez, se asignará turno como i y j aproximadamente al mismo tiempo. Sólo una de estas asignaciones durará; la otra ocurrirá, pero será reemplazada de inmediato. El valor eventual de turno decide a cuál de los dos procesos se le permitirá entrar primero en su sección crítica.
  • 30. Los semáforos pueden contemplarse como variables que tienen un valor entero sobre las que se definen las tres operaciones siguientes: Un semáforo puede inicializarse con un valor no negativo. Un semáforo puede inicializarse con un valor no negativo. La operación WAIT decremento el valor del semáforo. Si el valor se hace negativo, el proceso que ejecuta WAIT queda bloqueado. La operación SIGNAL incrementa el valor del semáforo. Si el valor no es positivo, se desbloquea a un proceso bloqueado previamente por una operación WAIT. Veamos cual serıa la implementación de un semáforo. Semáforos
  • 31. Un monitor es, esencialmente, una colección de datos y de procedimientos para su manipulación junto con una secuencia de inicialización. Las variables de datos globales son generalmente privadas al monitor por lo que solo son accesibles a los procedimientos de este. Los procedimientos del monitor podrán ser públicos o privados. Un monitor puede considerarse como una estructura estática que se activa únicamente cuando alguno de sus procedimientos públicos es llamado por un proceso en ejecución y se dice, entonces, que el proceso en cuestión entra o tiene acceso al monitor. Solamente un proceso puede estar ejecutándose en el monitor en un instante determinado. Una estructura de datos compartida puede así protegerse situándola dentro de un monitor que ofrecerá un servicio de exclusión mutua para dicha estructura. Para que resulten útiles en el procesamiento concurrente, los monitores deben incluir alguna herramienta de sincronización de forma que se impida el acceso al monitor a un proceso cuando otro esta ejecutando dentro de el. Esta sincronización se consigue por medio MONITORES
  • 32. PASO DE MENSAJES
  • 33. Los mensajes constituyen relativamente sencillo y adecuado para la comunicación y para la sincronización entre procesos que trabajan en entornos
  • 34.
  • 35.
  • 36.
  • 37. Habilitación / deshabilitacion de interrupciones instrucción comprobar y fijar (test and set)
  • 38. instrucción comparar e intercambiar (compare and swap) el problema de la cena de los filósofos