TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
scheduler.h
Aller à la documentation de ce fichier.
1 
29 #ifndef SCHEDULER_H
30 #define SCHEDULER_H
31 
32 #include <kprocess.h>
33 #include <ksyscall.h>
34 
38 typedef struct {
39  char* name;
40  int (*initialize)(int);
41  process_t* (*get_next_process)();
42  process_t* (*get_current_process)();
43  int (*add_process)(process_t*);
44  int (*delete_process)(int);
45  void (*inject_idle)(process_t*);
47 
54 void init_scheduler(int Q);
55 void set_scheduler(scheduler_descriptor_t* sched);
56 int scheduler_add_process(process_t* proc);
57 int scheduler_delete_process(int pid);
58 
65 
66 
71 void start_scheduler();
72 
77 void stop_scheduler();
78 
87 SYSCALL_HANDLER1(sys_sleep, uint32_t delay);
88 
97 
98 void halt();
99 #endif //SCHEDULER_H
Structure représentant un processus.
Definition: kprocess.h:92
SYSCALL_HANDLER1(sys_sleep, uint32_t delay)
Handler de l'appel système sleep.
Definition: scheduler.c:307
int is_schedulable(process_t *process)
Definition: scheduler.c:72
void stop_scheduler()
Arret du scheduler Arrète le scheduler en retirant le prochain schedule de la liste des évenements...
Definition: scheduler.c:273
void init_scheduler(int Q)
Initialisation du scheduler Initialise les données du scheduler pour qu'il puisse être lancé correcte...
Definition: scheduler.c:252
Definition: scheduler.h:38
Création de nouveaux processus.
process_t * get_current_process()
Retourne le processus en cours d'utilisation.
Definition: scheduler.c:293
void start_scheduler()
Mise en route du scheduler Met en route le scheduler en ajoutant la fonction schedule en évenement au...
Definition: scheduler.c:278
unsigned long int uint32_t
Definition: types.h:36
int delete_process(int pid)
Retire un processus de la liste.
Definition: kprocess.c:94