Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROGRAMACIÓN CONCURRENTE - Coggle Diagram
PROGRAMACIÓN CONCURRENTE
-
-
DESVENTAJAS
Diseño más cuidadoso (bloqueos, comunicación, invariantes)
Riesgo de errores difíciles (races, deadlocks)
Overhead: cambio de contexto, sincronización
-
-
Conceptos fundamentales
Concurrencia: Capacidad de un sistema para manejar varias tareas en progreso dentro del mismo periodo de tiempo.
No significa que se ejecuten al mismo instante; puede ser por turnos (intercalado) o en paralelo si hay varios núcleos.
Paralelismo: Ejecución simultánea real de tareas en diferentes núcleos/procesadores. Dos o más tareas están corriendo literalmente a la vez (núcleo 1 y núcleo 2).
Proceso vs Hilo
Proceso: tiene su propio espacio de memoria (más aislado, más pesado).
Hilo (Thread): es una “línea de ejecución” dentro de un proceso; comparte memoria con otros hilos del mismo proceso (más ligero, más rápido de crear).
-
-
planificador (scheduler)
Parte del sistema operativo que decide: Qué proceso/hilo corre, cuándo, y por cuánto tiempo. En concurrencia, el orden puede cambiar porque el scheduler interrumpe y rota tareas
-