Concurrencia y mecanismos de sincronización
Concurrencia
mecanismos de sincronización
concurrencia es cuando las cosas se producen al mismo tiempo en un sistema, ejecucion de varias tareas al mismo tiempo
Dos aspectos importantes en general: poder detectar y responder a los sucesos externos que se producen en un orden aleatorio y garantizar que estos sucesos se responden en un intervalo requerido mínimo.
La concurrencia también puede mejorar la capacidad de control del sistema. Por ejemplo, una función concurrente puede iniciar, detener o influir de otra manera a otra función en medio de una corriente, algo que es muy difícil de conseguir sin componentes concurrentes.
se pueden clasificar como:
Proceso independiente: Es aquel que ejecuta sin requerir la ayuda o cooperación de otros procesos, son proceso que trabajan por si solos y que no requiere de ayuda de otro para funcionar adecuadamente.
Procesos son cooperantes: Están diseñados para trabajar conjuntamente en algo, para lo que deben ser capaces de comunicarse e interactuar entre ellos.
En ambos (independientes y cooperantes), puede producirse una serie de interacciones entre ellos y pueden ser de dos tipos:
-Interacciones motivadas porque los procesos comparten o compiten por el acceso a recursos físicos o lógicos. Por ejemplo, dos procesos independientes compiten por el acceso a disco o para modificar una base de datos.
-Interacción motivada porque los procesos se comunican y sincronizan entre sí para alcanzar un objetivo común, Por ejemplo, un compilador que tiene varios procesos que trabajan conjuntamente para obtener un solo archivo de salida.
La sincronizacion.
La sincronización es necesaria para prever y corregir errores de sincronización debidos al acceso concurrente a recursos compartidos, esta a su vez intercambia señales de tiempo (ARRANQUE/PARADA) entre procesos, sin una sincronización idonea , la actualización de variables compartidas puede inducir a errores de tiempo relacionados con la concurrencia que son con frecuencia difíciles de depurar
Para la correcta sincronizacion es necesario determinar ciertos servicios que permitan bloquear o suspender bajo determinadas circunstancias la ejecución de un proceso.
Para la correcta sincronizacion es necesario determinar ciertos servicios que permitan bloquear o suspender bajo determinadas circunstancias la ejecución de un proceso.
Comentarios
Publicar un comentario