Ordonnancement des processus sous Windows NT OU COMMENT EST REGLER L’ORDE D’EXECUTION DES APPLICATIONS GIX Lilian IR 2001 22/04/2019
Sommaire Présentation des acteurs. Priorités Fonctionnement. Conclusion. Bibliographie. 22/04/2019 GIX Lilian IR 2001
Présentation Des Acteurs: Windows NT L’ordonnancement de processus repose sur 4 acteurs principaux Le système d’exploitation: Windows NT exécute : des Applications dans un laps de temps sur un ou plusieurs Microprocesseur: 22/04/2019 GIX Lilian IR 2001
Présentation des acteurs: Application Une application au sens Windows NT est composé de: Un processus qui détient De la mémoire alloué par le système d’exploitation Des Handles sur l’ensemble des Entrées/Sorties ( Fichiers, Pipes,…) Un ou plusieurs Thread c’est la partie du programme en exécution. 22/04/2019 GIX Lilian IR 2001
Présentation des acteurs: Le temps Il est découpé en Timeslice TimeSlice est égal à: 20ms pour un Windows NT Workstation 120ms pour Windows NT Server 22/04/2019 GIX Lilian IR 2001
Présentation des acteurs: Windows NT C’est un système d’exploitation multitâche préemptif. Dans un système d’exploitation multitâche préemptif, c’est l’OS qui : Donne le temps CPU à un Thread Il peut le retirer le Temps CPU à un Thread 22/04/2019 GIX Lilian IR 2001
Priorités GIX Lilian IR 2001 22/04/2019 Sur un Système Windows NT, il y a 31 niveaux de priorités: 1 -> 15 Utilisateurs + Administrateur 16 -> 31 Administrateur + Système GIX Lilian IR 2001 22/04/2019
Priorités : Processus Il y a 4 classes de priorité: 22/04/2019 A travers le gestionnaire de taches, il est possible de de modifier la classe de priorité des applications. On voit qu’il y a quatre niveaux de priorité: Temps réel de priorité qui a une valeur de 24 Haute: Priorité 13 Normal 8 Mini 4 22/04/2019 GIX Lilian IR 2001
Priorités : Threads 5 Niveaux de priorités: De -2 à +2 22/04/2019 Il est possible d’affiner les priorités à l’intérieur d’une applications au niveau des threads et ce avec 5 niveaux. 22/04/2019 GIX Lilian IR 2001
Priorités : conclusion On retrouve ici l’ensemble des plages faces à l’échelle des priorités. N’ayant pas d’informations confirmés sur les priorités inutilisés, je suppose qu’elles sont utilisées pour les appels système de Windows NT 22/04/2019 GIX Lilian IR 2001
Fonctionnement Le scheduler GIX Lilian IR 2001 22/04/2019
Scheduler Il décide de l’exécution des Threads 22/04/2019 Le scheduler est la partie de Windows qui organise les threads dans le temps Ici est schématisé l’exécution de 4 Threads 22/04/2019 GIX Lilian IR 2001
Scheduler 22/04/2019 GIX Lilian IR 2001 L’ensemble des threads du système sont organisé dans une table de priorité. L’exécution se fait alors toujours sur le thread de plus haut niveau qui est prêt. On aura donc ici l’exécution du Vert, du jaune, bleu puis violet. 22/04/2019 GIX Lilian IR 2001
Scheduler Exemple T1 T2 T3 T4 T5 22/04/2019 GIX Lilian IR 2001 Pour mieux comprendre, je propose un exemple: On a 5 Threads T1 de priorité 22 T2 : 22 T3 : 5 T4 : 5 T5 : 10 T1 T2 T3 T4 T5 22/04/2019 GIX Lilian IR 2001
Scheduler T1 T2 T5 T3 T4 T6 Priorité 24 Temps 22/04/2019 Le premier Thread (T1) s’exécute jusqu’à la fin de son TimeSlice S’exécute ensuite le Thread suivant de plus haut niveau prêt à s’exécuter : T2 . Il est stoppé par un accès au disque dur. Le Thread de plus haut niveau prêt est à nouveau T1. Le CPU lui est donc affecté. (Arrive alors la donnée demandé par T2). T1 se termine normalement avant la fin de son TimeSlice. Comme les données du disque Dur sont arrivées, le Thread T2 est réactivé et il fini normalement son exécution. Le thread de plus haut niveau est maintenant T5, il est donc exécuter. Dans notre cas, il fini tout de suite. S’éxecute alors le Thread T3. Arrive alors un Thread T6 de haute priorité. Il préempt (prend la place) T3. A la fin du TimeSlice de T6, s’exécute le thread de plus haut niveau n’ayant pas encore été activé (T4), s’exécute. A la fin du TimeSlice de T4, T6 reprend son exécution puis se fini. T3 étant le Thread de plus haut niveau et désactivé le plus longtemps, il est réactivé et se fini. T4 étant le Threadde plaus haut niveau (et aussi le dernier), il est réactivé. Temps 22/04/2019 GIX Lilian IR 2001
Conclusion Règles de préemption: 31 Niveaux de priorité: Fin d’un TimeSlice. Arrivée d’un Thread de priorité supérieur. Accès à un périphérique 31 Niveaux de priorité: 1 – 15 Utilisateurs. 16 – 31 Administrateurs. 22/04/2019 GIX Lilian IR 2001
Bibliographie GIX Lilian IR 2001 22/04/2019
Bibliographie Windows 2000 Magazine Windows NT Programmation 32Bits Christa Anderson Mark Russinovich Windows NT Programmation 32Bits Nabil Cherifi 22/04/2019 GIX Lilian IR 2001