2.5 Planificación

En el ámbito de la computación, la planificación de procesos es un componente fundamental de los sistemas operativos, encargándose de determinar el orden en que los procesos accederán al procesador.


Este proceso es crucial para optimizar la eficiencia del sistema al asignar recursos de manera equitativa y minimizar los tiempos de espera de los procesos.


La esencia de la planificación de procesos reside en la gestión de la concurrencia, donde múltiples procesos compiten por el acceso al procesador. El objetivo principal es maximizar la utilización del CPU, minimizar el tiempo de respuesta y garantizar una distribución justa de los recursos del sistema.


Para lograr esto, los sistemas operativos emplean algoritmos de planificación que determinan la secuencia en la que los procesos se ejecutarán.


Existen varios criterios y estrategias que guían la planificación de procesos:

  1. Prioridades: Los procesos pueden tener asignadas prioridades, indicando su importancia relativa para el sistema. La planificación de procesos da preferencia a aquellos con prioridades más altas, asegurando que las tareas críticas reciban un tratamiento adecuado.
  2. Tiempo compartido: En sistemas de tiempo compartido, la CPU se divide entre varios procesos en pequeños intervalos de tiempo. Esto proporciona una apariencia de ejecución simultánea y permite que múltiples usuarios interactúen con el sistema de manera aparentemente simultánea.
  3. Colas de prioridad: Los procesos se organizan en colas según sus prioridades, y el planificador selecciona el proceso de mayor prioridad para su ejecución. Esto asegura que los procesos críticos reciban atención inmediata.
  4. Round Robin: Este algoritmo asigna a cada proceso un intervalo de tiempo fijo en el que puede ejecutarse. Si un proceso no se completa durante su intervalo, se coloca al final de la cola, permitiendo que otros procesos tengan la oportunidad de ejecutarse.
  5. Algoritmos de Preemptiva y No Preemptiva: Los algoritmos preemptivos permiten que un proceso sea interrumpido y suspendido, mientras que los no preemptivos permiten que un proceso se ejecute hasta su finalización antes de seleccionar otro.

La importancia de la planificación de procesos radica en su capacidad para optimizar los recursos del sistema. Al asignar el procesador de manera eficiente, se mejora la utilización de la CPU y se reduce el tiempo de espera de los procesos, lo que contribuye a un sistema operativo más ágil y receptivo. Además, la planificación equitativa y basada en prioridades asegura una distribución justa de los recursos, evitando situaciones de inanición y garantizando que todos los procesos reciban una oportunidad adecuada de ejecución.

Reflexiona la siguiente pregunta que será tratada en la sesión de clase.

¿Qué diferencia hay entre el uso de semáforos y planificación de procesos?