Qu'est ce qu'un changement de contexte

Fermé
julien - 27 avril 2004 à 13:21
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 27 avril 2004 à 14:14
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 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
27 avril 2004 à 14:14
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
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