¿Alguien puede explicar el algoritmo de programación Round Robin?

En el algoritmo de programación round robin, cada proceso se recoge y se permite ejecutar durante el período de tiempo cuántico. Después de esto, el proceso se adelanta y se vuelve a colocar en la cola lista, después de lo cual se retoma otro proceso y se repite el mismo escenario. y hasta que se completen todos los procesos.

Una vez que se recoge un proceso de la cola lista para su ejecución, se verifica una condición previa si el tiempo de explosión del proceso es mayor que el tiempo cuántico o no.

Si el tiempo de ráfaga del proceso es mayor que el tiempo cuántico, el proceso puede ejecutarse durante el período de tiempo quantam. Después de lo cual vuelve a ponerse en la lista de espera. (En tal caso, el tiempo de ráfaga se deduce por la cantidad de tiempo dada y el proceso se vuelve a colocar en la cola lista para su ejecución durante el período de tiempo restante).

El escenario anterior se repite hasta que se completa el proceso y pasa al estado de terminación.

Si el tiempo de ráfaga del proceso es menor que el tiempo cuántico, el proceso puede ejecutarse durante su tiempo de ráfaga y luego el proceso finaliza.

Recuerde que si el tiempo cuántico es infinito, Round Robin comenzará a comportarse como el primero en llegar.

El round robin sufre muy poca inanición, ya que cada proceso se ejecuta durante el período de tiempo particular después del cual se adelanta y vuelve al estado listo o el proceso se completa. Round Robin se implementa utilizando la estructura de datos de cola. Muchos de los sistemas operativos prácticamente implementan round robin, ya que no depende del tiempo de ráfaga.

PD: El tiempo cuántico es el tiempo máximo permitido durante el cual el proceso puede ejecutarse una vez que está programado.

Round-robin (RR) es uno de los algoritmos empleados por los planificadores de procesos y redes en informática. Como el término se usa generalmente, se asignan segmentos de tiempo a cada proceso en partes iguales y en orden circular, manejando todos los procesos sin prioridad (también conocido como ejecutivo cíclico). La programación round-robin es simple, fácil de implementar y no tiene inanición.

Imagine que tiene 10 tareas que hacer y todas se hacen al mismo tiempo. Algunos de ellos dependen de otros eventos. Por ejemplo, puede vestirse y prepararse para el trabajo en cualquier momento, pero no puede desayunar hasta que termine de prepararlo. Si hicieras todas las tareas una tras otra, nunca llegarías a clase a tiempo. Esto significa que necesita realizar múltiples tareas.

La forma más rápida y fácil de realizar varias tareas es hacer una tarea determinada durante un período de tiempo fijo (digamos 1 minuto) y luego pasar a la siguiente tarea y hacerlo. Sigo yendo en círculos a través de la lista hasta que todos estén listos (también conocido como round-robin). El único problema es que no puedo hacer todas las tareas durante el intervalo de tiempo asignado porque podría estar esperando algún evento externo (por ejemplo, el desayuno se está cocinando, así que todavía no puedo comer). Por esta razón, mantenemos dos listas de tareas, una es la lista de tareas activas y la otra es la lista de tareas en espera.