Subido por Brayan Hernandez

Algoritmos Round Robin y SRTF

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.