Algoritmo de programación Round Robin con ejemplo

Tabla de contenido:

Anonim

¿Qué es la programación redonda?

El nombre de este algoritmo proviene del principio de turnos, en el que cada persona obtiene una parte igual de algo por turnos. Es el algoritmo de programación más antiguo y simple, que se utiliza principalmente para realizar múltiples tareas.

En la programación por turnos, cada tarea lista se ejecuta turno a turno solo en una cola cíclica durante un período de tiempo limitado. Este algoritmo también ofrece una ejecución de procesos libre de inanición.

En este tutorial del sistema operativo, aprenderá:

  • ¿Qué es la programación redonda?
  • Características de la programación Round-Robin
  • Ejemplo de programación por turnos
  • Ventaja de la programación por turnos
  • Desventajas de la programación por turnos
  • Latencia en el peor de los casos

Características de la programación Round-Robin

Estas son las características importantes de la programación Round-Robin:

  • Round robin es un algoritmo preventivo
  • La CPU se desplaza al siguiente proceso después de un intervalo de tiempo fijo, que se denomina cuanto de tiempo / segmento de tiempo.
  • El proceso que se adelanta se agrega al final de la cola.
  • Round robin es un modelo híbrido que funciona con reloj
  • El intervalo de tiempo debe ser mínimo, que se asigna a una tarea específica que debe procesarse. Sin embargo, puede diferir de un sistema operativo a otro.
  • Es un algoritmo en tiempo real que responde al evento dentro de un límite de tiempo específico.
  • El round robin es uno de los algoritmos más antiguos, justos y sencillos.
  • Método de programación ampliamente utilizado en sistemas operativos tradicionales.

Ejemplo de programación por turnos

Considere esto siguiendo tres procesos

Cola de proceso Tiempo quemado
P1 4
P2 3
P3 5

Paso 1) La ejecución comienza con el proceso P1, que tiene un tiempo de ráfaga 4. Aquí, cada proceso se ejecuta durante 2 segundos. P2 y P3 todavía están en la cola de espera.

Paso 2 ) En el tiempo = 2, P1 se agrega al final de la cola y P2 comienza a ejecutarse

Paso 3) En el tiempo = 4, P2 se reemplaza y se agrega al final de la cola. P3 comienza a ejecutarse.

Paso 4) En el tiempo = 6, P3 se reemplaza y se agrega al final de la cola. P1 comienza a ejecutarse.

Paso 5) En el tiempo = 8, P1 tiene un tiempo de ráfaga de 4. Ha completado la ejecución. P2 inicia la ejecución

Paso 6) P2 tiene un tiempo de ráfaga de 3. Ya se ha ejecutado durante 2 intervalos. En el tiempo = 9, P2 completa la ejecución. Luego, P3 comienza la ejecución hasta que se completa.

Paso 7) Calculemos el tiempo de espera promedio para el ejemplo anterior.

Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

Ventaja de la programación por turnos

A continuación, se muestran los pros y los beneficios del método de programación Round-robin:

  • No enfrenta los problemas del hambre o el efecto de convoy.
  • Todos los trabajos obtienen una asignación justa de CPU.
  • Se ocupa de todos los procesos sin ninguna prioridad.
  • Si conoce el número total de procesos en la cola de ejecución, también puede asumir el tiempo de respuesta del peor de los casos para el mismo proceso.
  • Este método de programación no depende del tiempo de ráfaga. Es por eso que se puede implementar fácilmente en el sistema.
  • Una vez que se ejecuta un proceso para un conjunto específico del período, el proceso se adelanta y otro proceso se ejecuta para ese período de tiempo determinado.
  • Permite que el sistema operativo utilice el método de cambio de contexto para guardar estados de procesos interrumpidos.
  • Ofrece el mejor rendimiento en términos de tiempo medio de respuesta.

Desventajas de la programación por turnos

A continuación, se muestran los inconvenientes y desventajas de utilizar la programación por turnos:

  • Si el tiempo de corte del sistema operativo es bajo, la salida del procesador se reducirá.
  • Este método dedica más tiempo al cambio de contexto.
  • Su rendimiento depende en gran medida del tiempo cuántico.
  • No se pueden establecer prioridades para los procesos.
  • La programación por turnos no da una prioridad especial a las tareas más importantes.
  • Disminuye la comprensión.
  • Un cuanto de tiempo más bajo da como resultado una mayor sobrecarga de cambio de contexto en el sistema.
  • Encontrar un cuanto de tiempo correcto es una tarea bastante difícil en este sistema.

Latencia en el peor de los casos

Este término se utiliza para el tiempo máximo necesario para la ejecución de todas las tareas.

  • dt = indica el tiempo de detección cuando una tarea se incluye en la lista
  • st = indica el tiempo de cambio de una tarea a otra
  • et = denotar el tiempo de ejecución de la tarea

Fórmula:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +… + (dti+ sti + eti )N., + (dti+ sti + eti + eti) N} + tISRt,SR = sum of all execution times

Resumen:

  • El nombre de este algoritmo proviene del principio de turnos, en el que cada persona obtiene una parte igual de algo por turnos.
  • El round robin es uno de los algoritmos más antiguos, justos y sencillos y los métodos de programación más utilizados en los sistemas operativos tradicionales.
  • Round robin es un algoritmo preventivo
  • La mayor ventaja del método de programación por turnos es que si conoce el número total de procesos en la cola de ejecución, también puede asumir el tiempo de respuesta del peor de los casos para el mismo proceso.
  • Este método dedica más tiempo al cambio de contexto.
  • La latencia del peor de los casos es un término que se utiliza para el tiempo máximo necesario para la ejecución de todas las tareas.