La planificación de procesos es el conjunto de políticas y mecanismos que un sistema operativo utiliza para determinar el orden en que se ejecutan los procesos y cómo se les asignan los recursos del sistema. Su objetivo principal es lograr la mayor productividad posible, es decir, la mayor cantidad de trabajo completado por unidad de tiempo.
Planificación de procesos
Tipos de planificadores
La planificación se implementa a menudo en tres niveles o tipos de planificadores:
Planificación a Largo Plazo
Decide qué trabajos (conjuntos de procesos) son admitidos en el sistema desde una cola de espera. Su función es controlar el grado general de multiprogramación del sistema.
Planificación a Medio Plazo
Gestiona la suspensión y reanudación de procesos, moviéndolos entre la memoria principal y la memoria secundaria (intercambio o swapping).
Planificación a Corto Plazo
Es el planificador más frecuentemente invocado y se encarga de seleccionar el siguiente proceso del estado "listo" para que se ejecute en el procesador.
Criterios de planificación
Los criterios de planificación y rendimiento utilizados para evaluar la eficacia de los algoritmos de planificación incluyen:
Utilización del Procesador
El porcentaje de tiempo promedio en que el procesador está activamente ocupado, ya sea ejecutando programas de usuario o código del sistema operativo.
Productividad
La cantidad de trabajo útil completado por unidad de tiempo, como el número de procesos finalizados.
Tiempo de Espera
El tiempo total que un proceso pasa en la cola de procesos listos, esperando por la CPU.
Tiempo de Retorno
El tiempo total transcurrido desde la presentación de un proceso hasta su finalización, incluyendo el tiempo de ejecución, el tiempo de espera y el tiempo en operaciones de E/S.
Tiempo de Respuesta
El tiempo que transcurre desde que se envía una solicitud hasta que se produce la primera respuesta, especialmente relevante en sistemas interactivos.