Programación Round Robin en programación C



Este artículo le proporcionará un conocimiento detallado y completo de cómo implementar la programación Round Robin en la programación C.

En este artículo, aprenderemos sobre el algoritmo de programación llamado algoritmo de programación round-robin, ¿qué es round-robin? ¿Cómo escribir un programa? Etc. Empecemos.

¿Qué es la programación de Round Robin?

Round Robin Scheduling es un algoritmo de programación utilizado por el sistema para programar la utilización de la CPU. Este es un algoritmo preventivo. Existe un segmento de tiempo fijo asociado con cada solicitud llamado cuanto. El programador de trabajos guarda el progreso del trabajo que se está ejecutando actualmente y pasa al siguiente trabajo presente en la cola cuando se ejecuta un proceso en particular durante un cuanto de tiempo determinado.





Programación Round Robin

cuál es la diferencia entre git y github

Ningún proceso retendrá la CPU durante mucho tiempo. El cambio se denomina cambio de contexto. Probablemente sea uno de los mejores algoritmos de programación. La eficiencia de este algoritmo depende del valor cuántico.



ALGORITMO DE PROGRAMACIÓN DE ROUND ROBIN

  • Primero tenemos una cola donde los procesos se organizan por orden de llegada.
  • Se asigna un valor cuántico para ejecutar cada proceso.
  • El primer proceso se ejecuta hasta el final del valor cuántico. Después de esto, se genera una interrupción y se guarda el estado.
  • Luego, la CPU pasa al siguiente proceso y se sigue el mismo método.
  • Se repiten los mismos pasos hasta que todos los procesos terminan.

Considere el código de ejemplo

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, arrival_time [10], burst_time [10], temp [10] float average_wait_time, average_turnaround_time printf ('nIntroduzca el número total de procesos: t') scanf ('% d', & limit) x = límite para (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && contador == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, tiempo de ráfaga [i], total - tiempo de llegada [i], total - tiempo de llegada [i] - tiempo de ráfaga [i]) tiempo de espera = tiempo de espera + total - tiempo de llegada [i] - tiempo de ráfaga [i] tiempo de respuesta = tiempo_de_vuelta + total - tiempo_de_llegada [i] contador = 0} if (i == límite - 1) {i = 0} else if (tiempo_de_llegada [i + 1]<= total) { i++ } else { i = 0 } } average_wait_time = wait_time * 1.0 / limit average_turnaround_time = turnaround_time * 1.0 / limit printf('nnAverage Waiting Time:t%f', average_wait_time) printf('nAvg Turnaround Time:t%fn', average_turnaround_time) return 0 }

SALIDA:

EXPLICACIÓN:

En el código anterior, le pedimos al usuario que ingrese el número de procesos y el tiempo de llegada y el tiempo de ráfaga para cada proceso. Luego, calculamos el tiempo de espera y el tiempo de respuesta utilizando el algoritmo round-robin.

La parte principal aquí es calcular el tiempo de respuesta y el tiempo de espera. El tiempo de respuesta se calcula sumando el tiempo total empleado y restando el tiempo de llegada.

aplicación web ruby ​​on rails

El tiempo de espera se calcula restando el tiempo de llegada y el tiempo de ráfaga del total y sumándolos al tiempo de espera. Así es como se lleva a cabo la programación por turnos.



VENTAJAS:

  • Bajos gastos generales para la toma de decisiones.
  • A diferencia de otros algoritmos, da la misma prioridad a todos los procesos.
  • El hambre rara vez ocurre en este proceso.

DESVENTAJAS:

  • La eficiencia del sistema disminuye si el valor cuántico es bajo, ya que se producen cambios frecuentes.
  • El sistema puede dejar de responder si el valor cuántico es alto.

Con esto llegamos al final de este artículo.

Espero que haya encontrado esto informativo y útil, permanezca atento a más tutoriales sobre temas similares. También puede consultar nuestro programa de formación tPara obtener un conocimiento profundo sobre jQuery junto con sus diversas aplicaciones, puede para capacitación en línea en vivo con soporte 24/7 y acceso de por vida.Implemente el código anterior con diferentes cadenas y modificaciones. Ahora, tenemos una buena comprensión de todos los conceptos clave relacionados con el puntero.

certificado de posgrado vs maestría

Tienes una pregunta para nosotros? Menciónalos en la sección de comentarios de este blog y nos comunicaremos contigo.