| Chapitre 3 : Les mécanismes de base |
L'unité centrale est constituée d'un ensemble de registres appartenant à deux catégories:
L'unité centrale contient aussi un certain nombre de registres désignés par le nom unique «mot d'état» (Process Status Word : PSW). Ces registres contiennent des informations telles que :
Une question importante se pose dans ce contexte :
En effet, laisser s'exécuter un autre processus modifie certainement le contexte courant
d'unité centrale et de cette manière le processus remplacé ne pourra pas
ultérieurement reprendre correctement son exécution. Il est donc indispensable
de prendre beaucoup de précaution avant de passer l'unité centrale d'un processus à un autre.
Pour cette raison, un mécanisme de base est implanté au niveau de matériel :
«la commutation de contexte». Il s'agit d'une opération permettant de
réaliser de manière indivisible :
Remarque :
En effet, le compteur ordinal fait partie des registres modifiés par la commutation pointant ainsi les instructions du nouveau programme. Ainsi, lors du prochain cycle d'instructions, le registre d'instructions sera chargé (le «fetch») par l'instruction pointée par le compteur ordinal qui est une instruction appartenant au nouveau programme pour qu'elle soit ensuite décodée et exécutée. Et ainsi de suite….
La commutation de contexte constitue la réponse du système à l'occurrence d'une interruption qui est un signal généré par le matériel comme conséquences à un événement qui s'est produit durant l'exécution du programme.
Les événements pouvant se produire durant l'exécution d'un programme sont nombreux. Certains d'entre eux sont internes et résultent de son exécution et d'autres sont externes et indépendants de cette exécution. On parle ainsi dans certains systèmes de :
Souvent, on associe dans les systèmes un indicateur (flag) à chaque type d'interruptions. Le signal modifie donc la valeur de son indicateur.
Les interruptions et la commutation du contexte (commutation du mot d'état)
A tout instant, un processus est donc entièrement caractérisé par :
Comment est-il possible dans ces conditions de partager le processeur entre plusieurs processus prêts (systèmes multiprogrammés - temps partagé) ?
La commutation de contexte provoque le lancement d'un autre programme.
lorsque l'instruction en cours appelle explicitement une fonction système telle que la demande, par exemple, d'une entrée - sortie.