Dans cette section nous spécifions l'ordonnanceur d'ALMOS-MK. Ce dernier est par cœur est à pour rôle de gérer les états des threads. == __1) Structures de données == Nous présentant ici les structures de données nécessaire au fonctionnement de l'ordonnanceur. Ces structures sont organisée par groupe : thread ou cœur. === 1.1) Structures par thread === Dans chaque thread, on trouve des champ qui sont relative à l'ordonnanceur : * ''sched_list'' : Ce champs est de type ''list_t'' et permet d'ajouter un thread dans l'une des liste de l'ordonnanceur ; * ''state'': Ce champ permet d'indiquer dans quel est l'état du thread. Ce champ indique l'un des états suivants : * ''runing'' : * ''dead'' : * ''wait'' * ''created'' : * ''sched_callback'' : ce pointeur de fonction peut être utilisé pour signaler à l'ordonnanceur qu'un thread peut être réveillé (1.2, ''sleep_list''). Cette fonction retourne un booléen lorsque le thread peut être réveillé. === 1.2) Structures par cœur === Dans chaque cœur, on trouve une structure ''sched_t'' contenant les champs suivante : * ''ready_list'' : cette liste contient les threads qui sont prêt à s'éxécuter ; * ''sleep_list'' : cette liste contient les threads qui sont endormis et dont le réveil est à la charge de l’ordonnanceur. L'ordonnanceur utilise le pointeur de fonciton ''sched_callback'' pour savoir à quel moment le thread doit être réveillé ; * ''dead_list'' : cette liste contient les threads qui sont mort et dont les données doivent être libérées ;