My Project
Chargement...
Recherche...
Aucune correspondance
Macros | Fonctions | Variables
Référence du fichier scheduler.c
#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>
Graphe des dépendances par inclusion de scheduler.c:

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
 

Documentation des macros

◆ DEBUG_MANUX_SCHEDULER

#define DEBUG_MANUX_SCHEDULER

Définition à la ligne 12 du fichier scheduler.c.

Documentation des fonctions

◆ initialiserScheduler()

void initialiserScheduler ( void  )

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.

◆ ordonnanceur()

void ordonnanceur ( void  )

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.

◆ ordonnanceurAddTache()

void ordonnanceurAddTache ( Tache *  tache)

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.

◆ ordonnanceurCreerTacheNoyau()

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.

Documentation des variables

◆ basculeConsoleDemandee

booleen basculeConsoleDemandee = FALSE

Définition à la ligne 52 du fichier scheduler.c.

◆ basculerTacheDemande

booleen basculerTacheDemande = TRUE

Définition à la ligne 54 du fichier scheduler.c.

◆ dateDernierOrdonnancement

Temps dateDernierOrdonnancement

Définition à la ligne 46 du fichier scheduler.c.

◆ listeTachesPretes

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.

◆ listeTachesTerminees

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.

◆ listeToutesLesTaches

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.

◆ numeroProchaineTache

TacheID numeroProchaineTache
extern

:Le numero de la prochaine tache (WARNING : et si on cycle ?)

Définition à la ligne 34 du fichier tache.c.

◆ schedulerEnCours

Atomique schedulerEnCours = 0

Définition à la ligne 47 du fichier scheduler.c.

◆ tacheEnCours

Tache* tacheEnCours = NULL

: La tâche en cours

: L'identification de la tâche en cours

Définition à la ligne 91 du fichier scheduler.c.

◆ tacheScheduler

Tache* tacheScheduler

Définition à la ligne 44 du fichier scheduler.c.