PROGRAMACIÓN CONCURRENTE

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
PROGRAMACIÓN CONCURRENTE por Mind Map: PROGRAMACIÓN CONCURRENTE

1. PROGRAMACIÓN CONCURRENTE

1.1. Para definirla correctamente, debemos diferencias entre programa y proceso.

1.1.1. Programa:

1.1.1.1. Conjunto de sentencias/instrucciones que se ejecutan secuencialmente.

1.1.2. Proceso:

1.1.2.1. se puede definir como un programa en ejecución

2. CONCURRENCIA

2.1. aparece cuando dos o más procesos son contemporáneos

2.2. Un caso particular es el paralelismo (programación paralela)

3. ¿Cuales son sus beneficios?

3.1. Velocidad de ejecución.

3.1.1. Al subdividir un programa en procesos, éstos se pueden “repartir” entre procesadores o gestionar en un único procesador según importancia

3.2. Solución a problemas de esta naturaleza

3.2.1. Sistemas de control:

3.2.1.1. Captura de datos, análisis y actuación sistemas de tiempo real

3.2.2. Tecnologías web:

3.2.2.1. Servidores web que son capaces de atender varias peticiones concurrentemente

3.2.3. Aplicaciones basabas en GUI:

3.2.3.1. El usuario hace varias peticiones a la aplicación gráfica

3.2.4. Simulación:

3.2.4.1. Programas que modelan sistemas físicos con autonomía.

3.2.5. Sistemas Gestores de Bases de Datos:

3.2.5.1. Cada usuario un proceso.

4. CONCEPTOS

4.1. La idea de programación concurrente siempre ha estado asociada a los sistemas operativos.

4.2. Un sólo procesador de gran capacidad debía repartir su tiempo entre muchos usuarios.

4.3. Su utilización y potencial utilidad se apoya en: threads o hilos, java e internet.

5. DEFINICIÓN

5.1. Se habla de concurrencia cuando ocurren varios sucesos de manera contemporánea.

6. CARACTERÍSTICAS

6.1. Orden de ejecución:

6.1.1. A diferencia de los programas secuenciales el flujo del programa sigue un orden parcial.

6.2. Indeterminismo:

6.2.1. El orden parcial produce consecuentemente un comportamiento indeterminista.

6.2.2. Es decir, repetidas ejecuciones sobre un mismo conjunto de datos resultan “diferentes resultados”.