Bonjour,
J'ai 8 files d'attentes (numérotés de 0 à 7) et chaque file d'attente à un poids.
Ex :
- file 7 => poid = 25
- file 6 => poid = 17
- file 5 => poid = 1
- file 4 => poid = 33
- file 3 => poid = 2
- file 2 => poid = 6
- file 1 => poid = 3
- file 0 => poid = 12
Je cherche à créer un algo qui me permette de définir une séquence de traitement de mes files d'attente de manière à ce qu'elles soient traitées de manière uniformes.
Voilà où j'en suis :
1- je trie mes files d'attente en fonction de leur priorité (celle qui à le ppoid le plus élevé est la plus prioritaire)s les plus forts) :
- file 4 => poid = 33
- file 7 => poid = 25
- file 6 => poid = 17
- file 0 => poid = 12
- file 2 => poid = 6
- file 1 => poid = 3
- file 3 => poid = 2
- file 5 => poid = 1
2- Je détermine le nombre de traitement de ma séquence pour un cycle (c'est la somme des poids) :
33 + 25 + 17 + 12 + 6 + 3 + 2 + 1 = 99
3- Je calcule la période de la file d'attente la plus prioritaire :
99 / 33 = 3 => donc cette file d'attente, devra apparaitre avec une période de 3 dans ma séquence
4- Je commence à créer mon tableau de séquence (-1 signifie que l'entrée est encore vide et 4 est le numéro de ma file d'attente la plus prioritaire):
4 -1 -1 -1 4 -1 -1 -1 4 -1 -1 -1 4 -1 -1 -1 4 -1 -1 -1 4 -1 -1 -1 4 -1 -1 -1 4 -1 -1 -1 4 -1 -1 -1 4....
Comment faire pour positionner les autres files d'attentes dans ma séquence (je bloque) ?
Merci d'avance,
Partager