Please enable JavaScript.
Coggle requires JavaScript to display documents.
Modelos de Procesos y Principios de Concurrencia - Coggle Diagram
Modelos de Procesos y Principios de Concurrencia
Modelos de Procesos
• Paralelo
• Procesos se ejecutan en diferentes sistemas.
• Comunicación a través de red.
• Concurrencia
• Procesos se ejecutan simultáneamente.
• Pueden compartir recursos.
• Distribuido
• Procesos se ejecutan uno tras otro.
• No hay concurrencia.
• Secuencial
• Procesos se ejecutan de manera independiente.
• Pueden interactuar y compartir datos.
Principios Generales de Concurrencia
• Exclusión Mutua
• Garantiza que un recurso solo sea utilizado por un proceso a la vez.
• Sincronización
• Coordinación de procesos para evitar conflictos.
• Ejemplos: semáforos, mutex.
• Comunicación
• Procesos comparten información y datos.
• Ejemplos: pipes, colas de mensajes
• Deadlock
• Situación en la que los procesos quedan atrapados y no pueden avanzar.
• Prevención y resolución de deadlocks.
• Planificación
• Asignación de recursos de CPU a procesos.
• Algoritmos de planificación.
Modelos de Programación Concurrente
• Hilos (threads)
• Procesos ligeros que comparten la misma memoria.
• Mayor eficiencia en la concurrencia.
• Procesos Paralelos
• Procesos separados con su propia memoria.
• Mayor aislamiento, mayor complejidad.
Problemas en Concurrencia
• Carrera (Race Condition)
• Procesos quedan atrapados esperando recursos mutuamente.
• Interbloqueo (Deadlock)
• Varios procesos acceden y modifican datos simultáneamente
• Inanición (Starvation)
• Un proceso no puede avanzar debido a la prioridad de otros.
• Condición de Carrera Crítica
• Problema que puede surgir en una carrera.