Quel est le contexte dans xv6?

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 .