|
My Project
|
#include <manux/config.h>#include <manux/scheduler.h>#include <manux/errno.h>#include <manux/io.h>#include <manux/memoire.h>#include <manux/printk.h>#include <manux/debug.h>#include <manux/interruptions.h>#include <manux/i386.h>#include <manux/appelsysteme.h>
Aller au code source de ce fichier.
Macros | |
| #define | DEBUG_MANUX_SCHEDULER |
Fonctions | |
| void | ordonnanceur (void) |
| Le coeur de l'ordonnanceur. | |
| void | ordonnanceurAddTache (Tache *tache) |
| Ajout d'une tâche dans l'ordonnanceur. | |
| void | initialiserScheduler (void) |
| Initialisation de l'ordonnanceur. | |
| TacheID | ordonnanceurCreerTacheNoyau (CorpsTache corpsTache) |
| Création et ordonnancement d'une tâche noyau. | |
Variables | |
| TacheID | numeroProchaineTache |
| :Le numero de la prochaine tache (WARNING : et si on cycle ?) | |
| Tache * | tacheScheduler |
| Temps | dateDernierOrdonnancement |
| Atomique | schedulerEnCours = 0 |
| booleen | basculeConsoleDemandee = FALSE |
| booleen | basculerTacheDemande = TRUE |
| ListeTache | listeTachesPretes |
| Identifiant de la tâche actuellement en cours d'exécution dans le noyau (0 si aucune) | |
| ListeTache | listeToutesLesTaches |
| : La liste de toutes les tâches existant sur le système. | |
| ListeTache | listeTachesTerminees |
| : La liste des tâches achevées. | |
| Tache * | tacheEnCours = NULL |
| : La tâche en cours | |
| #define DEBUG_MANUX_SCHEDULER |
Définition à la ligne 12 du fichier scheduler.c.
Initialisation de l'ordonnanceur.
Identifiant de la tâche actuellement en cours d'exécution dans le noyau (0 si aucune)
Définition à la ligne 181 du fichier scheduler.c.
Le coeur de l'ordonnanceur.
Basculer vers la prochaine tache à exécuter.
C'est cette fonction qui détermine la prochaine tâche à exécuter.
Définition à la ligne 98 du fichier scheduler.c.
Ajout d'une tâche dans l'ordonnanceur.
Ajout d'une tâche dans l'ordonnanceur.
On se contente de l'insérer dans la liste des tâches de l'ordonnanceur.
Définition à la ligne 171 du fichier scheduler.c.
| TacheID ordonnanceurCreerTacheNoyau | ( | CorpsTache | corpsTache | ) |
Création et ordonnancement d'une tâche noyau.
Création et ordonnancement d'une tâche noyau.
Définition à la ligne 349 du fichier scheduler.c.
Définition à la ligne 52 du fichier scheduler.c.
Définition à la ligne 54 du fichier scheduler.c.
| Temps dateDernierOrdonnancement |
Définition à la ligne 46 du fichier scheduler.c.
| ListeTache listeTachesPretes |
Identifiant de la tâche actuellement en cours d'exécution dans le noyau (0 si aucune)
: La liste des tâches prêtes sur le système
C'est une façon d'assurer le fonctionnement d'un noyau non réentrant.
: La liste des tâches prêtes sur le système
Ce sont les tâches prêtes à être exécutées. N'y figurent donc pas la tâche en cours d'exécution ni les tâches en attente sur un outil de synchronisation.
Définition à la ligne 76 du fichier scheduler.c.
| ListeTache listeTachesTerminees |
: La liste des tâches achevées.
: La liste des tâches achevées
Définition à la ligne 86 du fichier scheduler.c.
| ListeTache listeToutesLesTaches |
: La liste de toutes les tâches existant sur le système.
: La liste de toutes les tâches existant sur le système.
Définition à la ligne 81 du fichier scheduler.c.
|
extern |
| Atomique schedulerEnCours = 0 |
Définition à la ligne 47 du fichier scheduler.c.
: La tâche en cours
: L'identification de la tâche en cours
Définition à la ligne 91 du fichier scheduler.c.
| Tache* tacheScheduler |
Définition à la ligne 44 du fichier scheduler.c.