Par Mvondo Djob Barbe Thystere, Doctorant, Université Grenoble Alpes
Ouvrons le ventre du scheduler Linux iiiiiiiiiiiiiiiiiiiiii.
Contexte
Un système d'exploitation a pour rôle principalement de gérer de façon efficace les ressources physiques à disposition (CPU, mémoire, disques, carte réseau, etc.). Afin d'éviter toute contention de ressources et prévenir les fuites de données entre applications, le système d'exploitation se doit de choisir à intervalles réguliers/irréguliers, les applications qui bénéficieront de ses ressources. Le scheduler est le composant du système d'exploitation qui se charge de placer les applications en attente d'exécution sur les files d'exécution des différents processeurs (coeurs des processeurs). Le scheduler de Linux par défaut est le Credit Fair Scheduler - CFS. CFS associe à chaque tâche un vruntime pour traquer sa consommation processeur et essayera toujours de privilégier les tâches avec de faibles vruntime lors de l'ordonnancement.
TAF
Comprendre les heuristiques derrière vruntime.
Quand est-ce qu'on parle d'inversion de priorité lors d'un ordonnancement ?
Trouvez les situations qui engendrent une inversion de priorité et détaillez le cheminement en ressortant à chaque fois les vruntime de vos tâches (tâches de votre cas d'utilisation).