MECANISME DE LA COMMUTATION DE CONTEXTE

LA COMMUTATION DE CONTEXTE

Dans les systèmes d'exploitation l’ordonnanceur désigne le module du noyau du système d'exploitation qui choisit les processus qui vont être exécutés par les processeurs d'un ordinateur.En anglais, l'ordonnanceur est appelé scheduler.

C’est quoi un ordonnancement ?         

Un processus peut avoir besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un...) de la ressource processeur pour, par exemple, effectuer des calculs, déclencher une interruption, etc. La plupart des composants matériel, et en particulier le processeur d'un ordinateur, n'est pas capable d'effectuer plusieurs traitements simultanément. Pour la très grande majorité des ordinateurs, avoir un seul processeur implique de ne pouvoir effectuer qu'un traitement à la fois.
Or, à un instant donné, il est possible qu'il y ait plus de processus à exécuter qu'il n'y a de processeurs. Il est courant que de nombreux programmes soient exécutés en parallèle sur une machine mono processeur.

Un des rĂ´les du système d'exploitation et plus prĂ©cisĂ©ment de l'ordonnanceur du noyau est de permettre Ă  tous ces processus de s'exĂ©cuter et d'utiliser le processeur de manière optimale du point (Graphie) de vue de l'utilisateur. Pour arriver Ă  donner l'illusion que plusieurs tâches sont traitĂ©es simultanĂ©ment, l'ordonnanceur du noyau du système s'appuie sur les notions de commutation de contexte (Étape →3/5 : Une relecture a Ă©tĂ© demandĂ©e. • Si vous voyez des erreurs de traduction, vous pouvez...) et d'ordonnancement.

Commutation de contexte et élection

Pour effectuer ces tâches, l'ordonnanceur procède de la manière suivante : Ă  intervalle rĂ©gulier, le système appelle une procĂ©dure d'ordonnancement qui Ă©lit le processus Ă  exĂ©cuter. Si le nouveau processus est diffĂ©rent de l'ancien alors survient un changement de contexte, opĂ©ration qui consiste Ă  sauvegarder le contexte d'exĂ©cution de l'ancienne tâche, comme par exemple, les zones mĂ©moires du processus, le pointeur de programme. Cette structure de donnĂ©es (Dans les technologies de l'information (TI), une donnĂ©e est une description Ă©lĂ©mentaire, souvent codĂ©e, d'une chose,...) est gĂ©nĂ©ralement appelĂ©e PCB. Le système d'exploitation restaure le PCB de la nouvelle tâche.

Une commutation de contexte (context switch) en informatique consiste à sauvegarder l'état d'un processus ou d'un processus léger et à restaurer l'état d'un autre processus (léger) de façon à ce que des processus multiples puissent partager les ressources d'un seul processeur dans le cadre d'un système d'exploitation multitâche.

Une commutation de contexte peut être plus ou moins coûteuse en temps processeur suivant le système d'exploitation et l'architecture matérielle utilisés.

Le contexte sauvegardé doit au minimum inclure une portion notable de l'état du processeur (registres généraux, registres d'états, etc.) ainsi que, pour certains systèmes, les données nécessaires au système d'exploitation pour gérer ce processus.

La commutation de contexte invoque au moins trois Ă©tapes. Par exemple, en prĂ©sumant que l'on veut commuter l'utilisation du processeur par le processus P1 vers le processus P2 :

  • Sauvegarder le contexte du processus P1 quelque part en mĂ©moire (usuellement sur la pile de P1).
  • Retrouver le contexte de P2 en mĂ©moire (usuellement sur la pile de P2).
  • Restaurer le contexte de P2 dans le processeur, la dernière Ă©tape de la restauration consistant Ă  reprendre l'exĂ©cution de P2 Ă  son point de dernière exĂ©cution.

Certains processeurs peuvent sauvegarder et restaurer le contexte du processeur en interne, évitant ainsi d'avoir à sauvegarder ce contexte en mémoire vive.

Illustration

·         Si n tâches doivent ĂŞtre exĂ©cutĂ©es de manière simultanĂ©e et qu'il est physiquement impossible pour l'ordinateur de traiter plus d'une tâche simultanĂ©ment, le noyau commute rapidement le contexte d'exĂ©cution des n tâches, de manière Ă  ce que :

·         Une seule tâche soit exĂ©cutĂ©e Ă  la fois,

·         globalement toutes les tâches soient exĂ©cutĂ©es.

·         Par exemple, avec 3 tâches cela peut se dĂ©composer par

·         Sauvegarde (En informatique, la sauvegarde (backup en anglais) est l'opĂ©ration qui consiste Ă  dupliquer et Ă  mettre en sĂ©curitĂ© les...) par le noyau des contextes d'exĂ©cutions de 3 tâches,

·         commutation de contexte et Ă©lection de la nouvelle tâche n°1

o   Chargement (Le mot chargement peut dĂ©signer l'action de charger ou son rĂ©sultat :) par le noyau du contexte de la tâche 1.

o   ExĂ©cution des instructions de la tâche 1 pendant x milli-secondes

o   Sauvegarde du contexte de la tâche 1

·         commutation de contexte et Ă©lection de la nouvelle tâche n°2

o   Chargement par le noyau du contexte de la tâche 2.

o   ExĂ©cution des instructions de la tâche 2 pendant x milli-secondes

o   Sauvegarde du contexte de la tâche 2

·         commutation de contexte et Ă©lection de la nouvelle tâche n°3

o   Chargement par le noyau du contexte de la tâche 3.

o   ExĂ©cution des instructions de la tâche 3 pendant x milli-secondes

o   Sauvegarde du contexte de la tâche 3

·         commutation de contexte et Ă©lection de la nouvelle tâche n°1

o   Chargement par le noyau du contexte de la tâche 1.

o   ExĂ©cution des instructions de la tâche 1 pendant x milli-secondes

o   Sauvegarde du contexte de la tâche 1

 

 



22/03/2010
1 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 29 autres membres