GuinaweK
Messages postés22Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 janvier 2007
-
17 févr. 2005 à 17:51
GuinaweK
Messages postés22Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 janvier 2007
-
17 janv. 2006 à 10:35
Bonjour tout le monde, je suis en train de programmer un système d'ordonnancement de processus et je butte sur l'ordonnancement SJF preemptive, c'est à dire que le programme lance le premier processus de la liste, après, il regarde si un processus qui pourrait se terminer avant la fin de celui qui est en cours n'est pas arrivé, si oui, il suspend le process en cours et commence le plus court, après une unité de temps, le programme recommence cette opération, et ce, jusqu'à ce qu'aucun processus en reste à traiter.
J'ai reglé le problème du SJF non preemptive, qui est le même principe, en dehors du fait qu'il ne regarde pas régulièrement si un processus plus court est arrivé, il se contente de finir celui qui est en cours avant de traiter le suivant.
Please, aidez moi pour l'algorithme, je galère un peu là...
P.S. : je sais pas si j'ai été très clair dans les explications, n'hésitez pas à me contacter pour plus d'infos...
A voir également:
Algorithme ordonnancement
Algorithme d'ordonnancement de processus en c - Meilleures réponses
Algorithme d'ordonnancement sjf en c - Meilleures réponses
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010 18 févr. 2005 à 00:28
Est tu sur que l'ordannacement préemptive n'est pas une vue de l'esprit
car sinon il faudrait connaitre la durée d'un processus et en théorie
c'est impossible
GuinaweK
Messages postés22Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 janvier 2007 18 févr. 2005 à 15:00
en fait, ce programme simule juste le fonctionnement de la file d'attente, au début du programme, on rentre les caractéristiques des processus qu'on veut "étudier".
Parmi les caractéristiques rentrées, il y a le temps d'arrivée dans la queue, le temps estimé de run et la priorité du processus.
en gros, au lancement du programme, j'ai un tableau process[10][8]. Les cases [i][j] avec j de 0 a 3 contiennent dans l'ordre : [0] numéro du processus, [1] temps d'arrivée, [2] temps de run estimé et [3] priorité.
les autres cases sont complétées après par les différentes informations que me ramène les ordonnancements (début, fin, attente et un ratio attente/run).
GuinaweK
Messages postés22Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 janvier 2007 16 janv. 2006 à 12:47
ben l'algo en lui même il est pas très compliqué, c'est une gestion de tableau, les processus arrivent au fur et à mesure dans un tableau et tu les traites dans l'ordre où ils sont arrivés et cela en fonction du temps d'execution de chacun...
Vous n’avez pas trouvé la réponse que vous recherchez ?
F16_fly
Messages postés3Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention16 janvier 2006 16 janv. 2006 à 15:41
Oui ceci est clair(pas de tableau mais des files de messages).Le
problèmes est que le langage C m'est quelque peut méconnu alors je
n'arrive pas a voir toutes fonctions à utiliser.
GuinaweK
Messages postés22Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 janvier 2007 17 janv. 2006 à 10:35
faudrait que j'essaye de remettre la main sur mon code pour voir comment j'ai fait ça, mais il me semble que ça n'utilise pas beaucoup de fonctions complexes, c'est juste de la gestion de temps de thread. Cependant, ça fait un moment que je l'ai programmé et je sais pas trop où j'ai pu mettre mes sources...