Planification à la ronde dans la programmation C

Cet article vous fournira une connaissance détaillée et complète de la mise en œuvre de la planification à tour de rôle dans la programmation C.

Dans cet article, nous allons en apprendre davantage sur l'algorithme de planification appelé algorithme de planification à tour de rôle, qu'est-ce que le tourniquet? Comment écrire un programme? Etc. Commençons.



Qu'est-ce que la planification à la ronde?

Round Robin Scheduling est un algorithme de planification utilisé par le système pour planifier l'utilisation du processeur. Ceci est un algorithme préventif. Il existe une tranche de temps fixe associée à chaque requête appelée le quantum. Le planificateur de travaux enregistre la progression du travail en cours d'exécution et passe au travail suivant présent dans la file d'attente lorsqu'un processus particulier est exécuté pendant un quantum de temps donné.



Planification à la ronde

exemple d'espace de noms c ++

Aucun processus ne maintiendra le CPU pendant une longue période. La commutation est appelée un changement de contexte. C'est probablement l'un des meilleurs algorithmes de planification. L'efficacité de cet algorithme dépend de la valeur quantique.



ALGORITHME DE PROGRAMMATION DE ROBIN ROND

  • Nous avons d'abord une file d'attente où les processus sont organisés dans l'ordre premier arrivé, premier servi.
  • Une valeur quantique est allouée pour exécuter chaque processus.
  • Le premier processus est exécuté jusqu'à la fin de la valeur quantique. Après cela, une interruption est générée et l'état est enregistré.
  • La CPU passe alors au processus suivant et la même méthode est suivie.
  • Les mêmes étapes sont répétées jusqu'à ce que tous les processus soient terminés.

Considérez l'exemple de code

#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 ('nEntrez le nombre total de processus: t') scanf ('% d', & limit) x = limite pour (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && counter == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, burst_time [i], total - Arrival_time [i], total - Arrival_time [i] - burst_time [i]) wait_time = wait_time + total - Arrival_time [i] - burst_time [i] turnaround_time = heure_tournement + total - heure_arrivée [i] compteur = 0} if (i == limite - 1) {i = 0} else if (heure_arrivée [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 }

PRODUCTION:

EXPLICATION:

Dans le code ci-dessus, nous demandons à l'utilisateur de saisir le nombre de processus et l'heure d'arrivée et l'heure de rafale pour chaque processus. Nous calculons ensuite le temps d'attente et le temps de rotation à l'aide de l'algorithme round-robin.

La partie principale ici est de calculer le temps de rotation et le temps d'attente. Le temps de rotation est calculé en additionnant le temps total pris et en soustrayant l'heure d'arrivée.

synchronisation des threads dans l'exemple java

Le temps d'attente est calculé en soustrayant l'heure d'arrivée et le temps de rafale du total et en l'ajoutant au temps d'attente. C'est ainsi que se déroule la planification à tour de rôle.



AVANTAGES:

  • Frais généraux réduits pour la prise de décision.
  • Contrairement à d'autres algorithmes, il donne la même priorité à tous les processus.
  • La famine se produit rarement dans ce processus.

DÉSAVANTAGES:

  • L'efficacité du système est diminuée si la valeur quantique est faible car une commutation fréquente a lieu.
  • Le système peut ne plus répondre si la valeur quantique est élevée.

Avec cela, nous arrivons à la fin de cet article.

J'espère que vous avez trouvé cela informatif et utile, restez à l'écoute pour plus de tutoriels sur des sujets similaires. Vous pouvez également consulter notre programme de formation tPour acquérir des connaissances approfondies sur jQuery ainsi que ses différentes applications, vous pouvez pour une formation en ligne en direct avec une assistance 24/7 et un accès à vie.Implémentez le code ci-dessus avec différentes chaînes et modifications. Maintenant, nous avons une bonne compréhension de tous les concepts clés liés au pointeur.

trouver la longueur du tableau javascript

Vous avez une question pour nous? Mentionnez-les dans la section commentaires de ce blog et nous vous recontacterons.