psp-b1 hilos y procesos
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA
eugeniaperez.es


UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA

1 Programas concurrentes
- Múltiples líneas de flujo de control
- No se sigue un orden temporal lineal
- Sincronización que defina el orden
- y los recursos a compartir
- Hilos
- Constituyen el programa concurrente
- Se sincronizan y se comunican entre sí
- Sincronización que defina el orden

eugeniaperez.es
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA

1 Programas concurrentes
- Múltiples líneas de flujo de control
- Políticas de sincronización ¿?

eugeniaperez.es


UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA

1.1 Programación paralela
- Ejecución simultánea de varias instrucciones
- Subdivisión de un problema en partes más pequeñas
- Más difícil de implementar

eugeniaperez.es

- Velocidad
- Diseño
- Complejidad
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA

1.1 Programación paralela
Se asienta en la industria multiprocesador

eugeniaperez.es
- Velocidad
- Diseño
- Complejidad



1.1 PARALELISMO VS. CONCURRENCIA
Concurrencia
- 1 solo procesador
- Varias tareas
-
Ejecución simultánea de tareas
- Falsa sensación de simultaneidad

UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA
Paralelismo
- Varios procesadores
-
Ejecución simultánea real
- Diferentes tareas asignadas a diferentes procesadores
eugeniaperez.es



1.1 PARALELISMO VS. CONCURRENCIA
eugeniaperez.es
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA


1.2 Aplicaciones de la programación concurrente
eugeniaperez.es
Clásicas
- Sistemas operativos (en función del nº de procesadores)
Actuales
- Servicios Web -> llamadas AJAX
- Sistemas multimedia
- Cálculo numérico
- Procesamientos entrada/salida
- Interfaces de usuario
- Aplicaciones móviles
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA


1.3 Ventajas de la programación concurrente
eugeniaperez.es
- En sistemas monoprocesador permite optimizar el uso de los recursos.
- Facilita la programación de tiempo real, ya que se pueden concebir como procesos cuya ejecución se planifican de acuerdo con la urgencia.
- Permite reducir los tiempos de ejecución sobre plataformas multiprocesadoras.
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA


2. Sistema distribuído
eugeniaperez.es
Un sistema distribuido es una colección de computadores independientes que aparecen ante los usuarios como un único sistema coherente”
Andrew S. Tanenbaum

UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA


2. Sistema distribuído
eugeniaperez.es
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA
INTERNET


2. Sistema distribuído
Bases de datos distribuidas
- En desarrollo, los programadores solemos utilizar bases de datos ubicadas en un solo equipo (normalmente en la misma máquina de desarrollo)
- En producción, es habitual distribuir varias instancias de la base de datos en diferentes servidores.
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA
eugeniaperez.es


2. Sistema distribuído
- Fiabilidad
- Disponibilidad
- Rendimiento
- Económico
UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA
eugeniaperez.es
Más complejos, propensos a vulnerabilidades...


2. Sistema distribuído
eugeniaperez.es
Bases de datos distribuidas

UT 2: PROGRAMACIÓN CONCURRENTE Y DISTRIBUÍDA
PSP UT2. Programación concurrente y distribuida
By eugenia_perez
PSP UT2. Programación concurrente y distribuida
- 1,282