Sunteți pe pagina 1din 3

Concepto de Programacin Concurrente. Qu es la programacin concurrente?

Se conoce por programacin concurrente a la rama de la informtica que trata de las tcnicas de programacin que se usan para expresar el paralelismo entre tareas y para resolver los problemas de comunicacin y sincronizacin entre procesos. El principal problema de la programacin concurrente corresponde a no saber en que orden se ejecutan los programas en especial los programas que se comunican. Se debe tener especial cuidado en que este orden no afecte el resultado de los programas. Programa Concurrente:
Es un programa diseado para tener 2 o ms contextos de ejecucin decimos que este tipo de programa es multi-hilo, porque tiene ms de un contexto de ejecucin. Un programa concurrente es un programa que tiene ms de una lnea lgica de ejecucin, es decir, es un programa que parece que varias partes del mismo se ejecutan simultneamente. Un ejemplo de esto es un programa que realice determinada funcin y, simultneamente, exponga datos en la pantalla. Un programa concurrente puede correr en varios procesadores simultneamente o no. Esta importancia de la concurrencia es especialmente destacable en sistemas operativos como Linux, que adems de concurrentes, presentan unos mecanismos de concurrencia estables. La concurrencia puede presentarse en tres contextos diferentes: Varias aplicaciones: La multiprogramacin se cre para permitir que el tiempo de procesador de la maquina fuese compartido dinmicamente entre varios trabajos o aplicaciones activas. Aplicaciones estructuradas: Como aplicacin de los principios del diseo modular y la programacin estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes. Estructura del Sistema Operativo: Las mismas ventajas de estructuracin son aplicables a los programadores de sistema y se han comprobado que algunos sistemas operativos estn implementados con un conjunto de procesos.

Fundamentos De La Programacin Concurrente Concurrencia: Es un trmino genrico utilizado para indicar un programa nico en el que puede haber ms de un contexto de ejecucin activo simultneamente. Cuando dos o ms 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 ms procesos sean concurrentes, es necesario que tengan alguna relacin entre ellos como puede ser la cooperacin para un determinado trabajo o el uso de informacin o recursos compartidos, por ejemplo: en un sistema de un procesador, la multiprogramacin es una condicin necesaria pero no suficiente para que exista concurrencia, ya que los procesos pueden ejecutarse de forma totalmente independiente.

Beneficios de Programacin Concurrente.


La programacin concurrente nos permite desarrollar aplicaciones que pueden ejecutar mltiples actividades de forma paralela o simultnea. La programacin concurrente es necesaria por varias razones: Ganancia de procesamiento, ya sea en hardware multiprocesador o bien en un conjunto dado de computadoras. Mediante la obtencin de ganancias en recursos, en capacidad de cmputo, memoria, recursos de almacenamiento, etc. Incremento del throughput de las aplicaciones (solapamiento E/S con cmputo). Incrementar la respuesta de las aplicaciones hacia el usuario, poder atender estas peticiones frente al cmputo simultneo. Permitiendo a los usuarios y computadores, mediante las capacidades extras, colaborar en la solucin de un problema. Es una estructura ms apropiada para programas que controlan mltiples actividades y gestionan mltiples eventos, con el objetivo de capturar la estructura lgica de un problema. Da un soporte especfico a los sistemas distribuidos. En particular como posibilidad de enlazar y hacer trabajar de forma conjunta a dispositivos fsicamente independientes.

S-ar putea să vă placă și