Procedure Habilitation PlanifierPeriodiquement(C : Nul Ou Calendrier, DureeEstimee : Entier=3, PrioriteDuTravail : Entier=2);
Les travaux dans la file sont ordonnés en fonction des contraintes temporelles ou séquentielles. Pour cela, l'ordonnanceur a besoin de connaître une estimation de la durée de chaque travail. Pour ce nouveau travail à introduire dans la file d'attente, la durée estimée est donnée par le paramètre DureeEstimee exprimé en secondes.
Lorsque deux travaux sont en conflits de date, le plus prioritaire est sélectionné le premier. La priorité est donnée par le paramètre Priorité. Une priorité de 1 signifie que le travail a une priorité plus élevée que la normale. Une priorité de 2 signifie que le travail à une priorité normale. Une priorité de 3 signifie que une priorité plus basse que la normale. La priorité influence l'ordre de sélection mais aussi la priorité de la tâche exécutant le travail.
Un travail doit être planifié pour être traité. Il peut être replanifié tant qu'il n'est pas exécuté.
Si la machine est saturée, les contraintes de planification peuvent ne pas être respectées.
Variable
/******/
MonTravail : Nul Ou Travail;
FileDAttente
/**********/
MaFile(1);
/****************************************************************/
Procedure P(A : Entier Entree Sortie)
/* Objet : Procedure quelconque. */
/****************************************************************/
Debut
Ecran.Ecrire("P="+Caractere(A));
Fin Procedure
Principal
/*******/
Debut
...
MonTravail=P()||MaFile;
MonTravail.PlanifierPeriodiquement(MonCalendrier);
/* Le travail 'MonTravail' doit s'effectuer selon le calendrier 'MonCalendrier'. */
...
Fin Principal
- | - | - | - | - | - | - | - | - |