Vous êtes sur la page 1sur 2

Partie II : Ordonnancement des taches

Le rôle de l’ordonnanceur est de planifier l’exécution des taches selon leur importance et suivant un
ordre spécifique. Dans cette partie nous allons affecter une priorité et un type d’ordonnancement à
une tâche en utilisant les fonctions suivantes :

1. Déclaration de la structure de données pour définir la priorité a la tache :

struct sched_param param

2. Déclaration des paramétres de priorité et le type d’ordonnancement

int pthread_attr_setinheritsched(pthread_attr_t *attr, int inheritsched)


Pthread_expicit_sched : force la tache créer a utiliser les paramétres d’ordonnancement
declaré par attr

 Pthread_ibherit_sched : la nouvelle tache héritera les propriétés d’ordonnancement de son


processus créateur, si cette option est utilisé on ignore les paramétres déclaré dans attr

3. Affectation à la propriété attr un nombre entier (param) correspondant au niveau de priorité

int pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param


*param)

4. Affectation à la priorité attr le type d’ordonnancement

int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy)

 SCHED_FIFO : ordonnancement préemtif à priorités fixes, les taches de même priorité


sont ordonnncées en FIFO.

 SCHED_RR : ordonnancement Round-robin

 SCHED_OTHER : ordonnancement à temps partagé entre tâches.

5. Affectation des paramétres d’ordonnancement à une tache en cours d’exécution.

int pthread_setschedparam(pthread_t thread, int policy, const struct sched_param


*param)
Application II.1 :
1. Rappeler les différents algorithmes d’ordonnancement vu en cours
2. Expliquer le principe d’ordonnancement Round-Robin et l’ordonnancement à temps partagé
3. Écrire le code ci-dessous sur un éditeur de code et expliquer le rôle de chaque séquence
4. Après l’exécution du programme, décrire son comportement.