Please enable JavaScript.
Coggle requires JavaScript to display documents.
Administración de Procesos, Mecanismos de Sincronización - Coggle Diagram
Administración de Procesos
Modelos de Procesos
¿Qué es un Proceso?
-Programa en Ejecución
-Entidad vs. Programa (Pasivo)
-Representado por su Bloque de Control de Proceso (PCB)
Estados de un Proceso
-Nuevo
-Listo
-En Ejecucion
-Bloqueado / En Espera
-Terminado
Transiciones entre Estados
-Planificador (Ready -> Running)
-Interrupción / Timeout (Running -> Ready)
-Evento de E/S (Running -> Blocked)
-Fin de E/S (Blocked -> Ready)
Estructura de un Proceso
-Sección de Código: Instrucciones
-Sección de Datos: Variables globales
-Pila: Datos de llamadas a funciones, variables locales
-Heap: Memoria asignada dinámicamente
Operaciones sobre Procesos
-Creación (fork(), spawn())
-Terminación (exit())
-Bloqueo/Desbloqueo
-Cambio de Contexto
Principios Generales de Concurrencia
Concepto: Múltiples procesos avanzando simultáneamente en el tiempo (paralelo o pseudo-paralelo).
Problemas y Desafíos
-Compartición de Recursos: Uso de recursos globales (memoria, archivos).
-Condición de Carrera (Race Condition): Resultado final depende del orden de ejecución de procesos.
-Sección Crítica: Porción de código donde se accede a recursos compartidos.
Requisitos para una Solución (Dijkstra)
-Exclusión Mutua: Solo un proceso en su sección crítica.
-Progreso: Si no hay procesos en SC, se decide quién entra.
-Espera Limitada: No se puede postergar indefinidamente la entrada.
Mecanismos de Sincronización
-Software: Algoritmos (e.g., Algoritmo de Peterson).
-Hardware: Instrucciones atómicas (TSL, Test and Set Lock).
-Primitivas de SO: Semaáforos: Variable entera (contador) + cola de procesos. y Operaciones atómicas: wait() (P) y signal() (V).
-Primitivas de SO: Mutex: Semaforo binario (1/0) para exclusión mutua.