Ordonnancement de processus

Signaler
Messages postés
22
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 janvier 2007
-
Messages postés
22
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 janvier 2007
-
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...

6 réponses

Messages postés
202
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
6 mars 2010

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
Messages postés
22
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 janvier 2007

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).

J'éspère que c'est plus clair comme ça...
Messages postés
3
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
16 janvier 2006

Moi je dois faire le FCFS mais je n'y arrive pas.L'as tu fait, pourrais tu m'aider pour l'algo tout du moins.
Merci
Messages postés
22
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 janvier 2007

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...
Messages postés
3
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
16 janvier 2006

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.
Messages postés
22
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 janvier 2007

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...