Qu'est ce qu'un changement de contexte

julien -  
sebsauvage Messages postés 33415 Statut Modérateur -
bonjour à tous
je voulais savoir si quelqu'un pouvait m'eclairer sur :
qu'est ce qu'un changement de contexte

je pense que c'est le passage d'un programme à un autre qui ont été decoupé en quantum de temps(ex algo d'ordonnancement circulaire)

merci de me corriger
A voir également:

2 réponses

sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
C'est ça !

Par exemple quand système multi-tâche passe d'une tâche à une autre, il doit mémoriser l'état de la tâche courante (contenu des registres du processeur, pile, etc.), puis charger ceux du process suivant dans l'ordonnanceur.

Plus les quantas d'exécution sont gros, plus il est possible d'un processus reste longtemps sans être exécuté.

Plus les quantas d'exécution sont petits, plus le surcoût qu'engendre ce changement de contexte est important.

Il faut donc faire un compromis entre les deux.

Sous Windows, c'est typiquement ce qui fait la différence entre les versions Workstation et les versions Server.

(Les versions serveur ayant des quantas d'exécution plus gros afin de favoriser les traitements lourds, alors que les workstations ont des quantas plus petits (principalement dans le but de ne jamais bloquer les interfaces graphique)).

C'est aussi ce qui fait que les threads sont intéressants:
Le changement de contexte d'un thread à un autre est nettement moins couteux que le changement de contexte d'un process à un autre.
3
Nico
 
Yop,

exact, un changement de contexte au niveau programmation est le fait de sauvegarder le programme à un moment donné avant de lancer un autre programme. Cela permet de revenir à ce programme sans perte de données. On s'en sert explicitement en assembleur avec la gestion de la pile.

++

Nico
1