Los procesos son concurrentes si existen
simultáneamente. Los procesos concurrentes pueden funcionar en forma totalmente
independiente unos de otros, o pueden ser asíncronos, lo cual significa que en
ocasiones requieren cierta sincronización o cooperación.
Cuando dos o más procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. Es importante mencionar que para que dos o más procesos sean concurrentes, es necesario que tengan alguna relación entre ellos como puede ser la cooperación para un determinado trabajo o el uso de información o recursos compartidos, por ejemplo: en un sistema de un procesador, la multiprogramación es una condición necesaria pero no suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.
Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las actividades necesiten actuar entre sí ya sea para utilizar información en común o para cualquier otra cosa.
- Beneficios de la concurrencia- Trata de evitar los tiempos muertos de la UCP- Comparte y optimiza el uso de recursos- Permite la modularidad en las diferentes etapas del proceso- Acelera los cálculos- Da mayor comodidad
Cuando dos o más procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de procesos. Es importante mencionar que para que dos o más procesos sean concurrentes, es necesario que tengan alguna relación entre ellos como puede ser la cooperación para un determinado trabajo o el uso de información o recursos compartidos, por ejemplo: en un sistema de un procesador, la multiprogramación es una condición necesaria pero no suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.
Por otro lado en un sistema de varios procesos se puede presentar la concurrencia siempre y cuando las actividades necesiten actuar entre sí ya sea para utilizar información en común o para cualquier otra cosa.
- Beneficios de la concurrencia- Trata de evitar los tiempos muertos de la UCP- Comparte y optimiza el uso de recursos- Permite la modularidad en las diferentes etapas del proceso- Acelera los cálculos- Da mayor comodidad
Desventajas de la concurrencia
· Inanición e interrupción de procesos· Ocurrencia de bloqueos· Que dos o más procesos requieran el mismo recurso (no apropiativo)
En muchos casos, los procesos se reúnen para realizar tareas en conjunto, a este tipo de relación se le llama procesos cooperativos. Para lograr la comunicación, los procesos deben sincronizarse, de no ser así pueden ocurrir problemas no deseados. La sincronización es la transmisión y recepción de señales que tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos. Es la coordinación y cooperación de un conjunto de procesos para asegurar la comparación de recursos de cómputo. La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al acceso concurrente a recursos compartidos, tales como estructuras de datos o dispositivos de E/S, de procesos contendientes.
· Inanición e interrupción de procesos· Ocurrencia de bloqueos· Que dos o más procesos requieran el mismo recurso (no apropiativo)
En muchos casos, los procesos se reúnen para realizar tareas en conjunto, a este tipo de relación se le llama procesos cooperativos. Para lograr la comunicación, los procesos deben sincronizarse, de no ser así pueden ocurrir problemas no deseados. La sincronización es la transmisión y recepción de señales que tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos. Es la coordinación y cooperación de un conjunto de procesos para asegurar la comparación de recursos de cómputo. La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al acceso concurrente a recursos compartidos, tales como estructuras de datos o dispositivos de E/S, de procesos contendientes.
La sincronización entre procesos también permite
intercambiar señales de tiempo (ARRANQUE/PARADA) entre procesos cooperantes
para garantizar las relaciones específicas de precedencia impuestas por el
problema que se resuelve. Sin una sincronización adecuada entre procesos, la
actualización de variables compartidas puede inducir a errores de tiempo
relacionados con la concurrencia que son con frecuencia difíciles de depurar.
Una de las causas principales de este problema es que procesos concurrentes
puedan observar valores temporalmente inconsistentes de una variable compartida
mientras se actualizan. una aproximación para resolver este problema es
realizar actualizaciones de variables compartidas de manera mutuamente
exclusiva. Se pueden mejorar permitiendo que a lo más un proceso entre a la vez
en la sección crítica de código en la que se actualiza una variable compartida
o estructura de datos en particular.
No hay comentarios:
Publicar un comentario