Algoritmos Round Robin y SRTF José Fernando Causil Arizal Daniel García Galeano Brayan David Hernández Furnieles Facultad de Ingenierías, Universidad de Córdoba Sistemas Operativos Ing. Antonio Fernando Movilla Quintero 14 de septiembre de 2023 Introducción Los algoritmos de planificación de procesos son esenciales en los sistemas operativos modernos para gestionar eficazmente la asignación de recursos de la CPU a múltiples tareas o procesos. Dos de estos algoritmos son el "Round Robin" (RR) y el "Shortest Remaining Time First" (SRTF). Cada uno de estos algoritmos tiene sus propias características y objetivos, lo que los hace adecuados para diferentes contextos y requisitos de planificación. Por ende, a lo largo de este documento, exploraremos un poco el funcionamiento y ejemplos de estos algoritmos. Round Robin El algoritmo de planificación de procesos conocido como "Round Robin" es uno de los algoritmos más utilizados para administrar la asignación de tiempo de la CPU en sistemas operativos multitarea o multiproceso. Su nombre proviene del concepto de que los procesos se ejecutan en "círculos" o "rondas" en los que cada proceso obtiene un pequeño fragmento de tiempo de CPU antes de pasar al siguiente proceso en la cola. Este algoritmo es especialmente útil cuando se requiere un reparto equitativo de la CPU entre varios procesos y para prevenir el monopolio de la CPU por parte de un proceso. El funcionamiento del algoritmo Round Robin es el siguiente: 1. Cada proceso se coloca en una cola de procesos listos para ejecutarse. 2. Se asigna un quantum de tiempo fijo a cada proceso. Este quantum es el tiempo máximo que un proceso puede ejecutarse antes de ser interrumpido y puesto nuevamente en la cola de procesos listos. 3. El proceso en la parte delantera de la cola de procesos listos se selecciona para ejecutarse. 4. El proceso seleccionado se ejecuta durante un tiempo igual o menor a su quantum de tiempo. 5. Si el proceso termina antes de que se agote su quantum, se considera completado y se elimina de la cola. 6. Si el proceso aún no ha terminado cuando se agota su quantum, se coloca nuevamente en la cola de procesos listos. 7. El proceso en la parte delantera de la cola de procesos listos se convierte en el siguiente proceso a ejecutar. 8. Este proceso se repite cíclicamente hasta que todos los procesos hayan terminado. Ejemplo: SRTF (Shortest Remaining Time First) El algoritmo SRTF (Shortest Remaining Time First), que se traduce como "El más corto tiempo restante primero", es un algoritmo de planificación de procesos en sistemas operativos que prioriza la ejecución de los procesos con el tiempo de CPU restante más corto. Este algoritmo busca minimizar el tiempo de espera y mejorar la eficiencia en comparación con otros algoritmos de planificación. El funcionamiento del algoritmo SRTF es el siguiente: 1. Cuando un proceso llega al sistema o se libera de una operación de E/S, se coloca en la cola de procesos listos. 2. En cada cambio de contexto (cuando un proceso actualmente en ejecución es interrumpido), el sistema selecciona el proceso con el tiempo de CPU restante más corto en la cola de procesos listos. 3. El proceso seleccionado se ejecuta hasta que se complete o sea interrumpido por otro proceso con un tiempo de CPU restante más corto. 4. Si llega un nuevo proceso a la cola de procesos listos o un proceso que estaba esperando E/S regresa, se verifica si su tiempo de CPU restante es menor que el proceso en ejecución. Si es así, el proceso en ejecución se interrumpe y se ejecuta el nuevo proceso. 5. Este proceso de selección y ejecución continúa hasta que todos los procesos en la cola de procesos listos hayan terminado. Ejemplo: Proceso Tiempo de Tiempo de Tiempo de Tiempo de Tiempo de Tiempo de ejecución llegada comienzo finalización retorno espera A 8 0 0 – 12 1–9 19 19 – 8 = 11 B 4 1 1 5 5–1=4 4–4=0 C 9 2 19 28 28 – 2 = 26 26 – 9 = 17 D 5 3 7 12 12 – 3= 9 9–5=4 E 2 4 5 7 7–4=3 3–2=1 Conclusión En resumen, tanto el algoritmo Round Robin como el algoritmo SRTF son herramientas valiosas en la gestión de la CPU en sistemas operativos. El Round Robin garantiza una distribución equitativa de la CPU entre los procesos, lo que es útil para prevenir bloqueos y proporcionar un rendimiento razonablemente justo a todos los procesos. Sin embargo, puede generar una sobrecarga de cambio de contexto y no es óptimo cuando los procesos tienen requisitos de tiempo de CPU muy diferentes. Por otro lado, el algoritmo SRTF prioriza la ejecución de procesos más cortos, lo que minimiza el tiempo de espera y el tiempo de retorno en general. Sin embargo, puede llevar a un mayor número de cambios de contexto, lo que puede ser costoso en términos de rendimiento. Además, puede dar lugar a la inanición de procesos largos si siempre llegan procesos cortos.