Comment les registres partagés entre les threads?
-
29-09-2019 - |
Question
Je sais que les piles sont par thread, mais les registres sont limités, comme sur IA32, seulement 8 registres.
Alors, comment sont registres partagés entre les threads?
La solution
Les registres sont utilisés par la CPU quand il est en cours d'exécution d'un thread particulier. Lorsque le système d'exploitation décide de passer d'un fil à l'autre, le système d'exploitation enregistre les valeurs actuelles de tous les registres dans une zone de mémoire privée spécifique au premier fil. Avant le deuxième fil commence à courir, les charges OS les valeurs de tous les registres de son zone sauvegardée. Ceci est appelé changement de contexte .
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow