Quelle est l’utilisation du context
dans le système d’exploitation xv6? Quel est le travail de chaque registre dans son context
?
struct context { uint edi; uint esi; uint ebx; uint ebp; uint eip; };
context
est cet ensemble d’informations qui vous permet de reprendre l’exécution d’une tâche à partir du même point où elle s’est arrêtée en raison du changement de contexte (le planificateur sélectionne une autre tâche à exécuter et suspend celle en cours). de la tâche en cours et restaurer ceux de la tâche suivante à exécuter).
Le but de chacun de ces registres est:
edi
: Index de destination, pour les opérations sur chaîne esi
: Index source, pour les opérations sur chaîne ebx
: index de base, à utiliser avec les tableaux ebp
: pointeur de base de la stack, pour conserver l’adresse du cadre de la stack en cours eip
: Pointeur d’instruction, pointe sur l’instruction à exécuter Cette structure est le contexte du kernel du processus en cours d’exécution.
Le contexte du mode utilisateur est enregistré dans la structure du trapframe
.